• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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