1 // Copyright 2007 Google Inc. All Rights Reserved. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); You may not 4 // use this file except in compliance with the License. You may obtain a copy of 5 // the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by 6 // applicable law or agreed to in writing, software distributed under the 7 // License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 8 // OF ANY KIND, either express or implied. See the License for the specific 9 // language governing permissions and limitations under the License. 10 11 package com.google.scrollview.ui; 12 13 /** 14 * A MenuListItem is any sort of menu entry. This can either be within a popup 15 * menu or within a menubar. It can either be a submenu (only name and 16 * command-id) or a name with an associated value and possibly description. They 17 * can also have new entries added (if they are submenus). 18 * 19 * @author wanke@google.com 20 */ 21 22 import com.google.scrollview.ScrollView; 23 import com.google.scrollview.events.SVEvent; 24 import com.google.scrollview.events.SVEventType; 25 26 import javax.swing.JCheckBoxMenuItem; 27 28 /** 29 * Constructs a new menulistitem which possesses a flag that can be toggled. 30 */ 31 class SVCheckboxMenuItem extends SVAbstractMenuItem { 32 public String value = null; 33 public String desc = null; 34 public boolean bvalue; 35 SVCheckboxMenuItem(int id, String name, boolean val)36 SVCheckboxMenuItem(int id, String name, boolean val) { 37 super(id, name, new JCheckBoxMenuItem(name, val)); 38 bvalue = val; 39 } 40 41 /** What to do when user clicks on this item. */ 42 @Override performAction(SVWindow window, SVEventType eventType)43 public void performAction(SVWindow window, SVEventType eventType) { 44 // Checkbox entry - trigger and send event. 45 if (bvalue) { 46 bvalue = false; 47 } else { 48 bvalue = true; 49 } 50 SVEvent svme = new SVEvent(eventType, window, id, getValue()); 51 ScrollView.addMessage(svme); 52 } 53 54 /** Returns the actual value of the MenuListItem. */ 55 @Override getValue()56 public String getValue() { 57 return Boolean.toString(bvalue); 58 } 59 } 60 61