OpenCOVER
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
coCheckboxMenuItem.h
Go to the documentation of this file.
1 /* This file is part of COVISE.
2 
3  You can use it under the terms of the GNU Lesser General Public License
4  version 2.1 or later, see lgpl-2.1.txt.
5 
6  * License: LGPL 2+ */
7 
8 #ifndef CO_CHECKBOXMENUITEM_H
9 #define CO_CHECKBOXMENUITEM_H
10 
11 #include <OpenVRUI/coAction.h>
12 #include <OpenVRUI/coRowMenuItem.h>
13 #include <OpenVRUI/coButton.h>
14 #include <string>
15 
16 namespace vrui
17 {
18 
19 class coCheckboxGroup;
20 
30 class OPENVRUIEXPORT coCheckboxMenuItem : public coRowMenuItem, public coButtonActor, public coAction
31 {
32 protected:
35  bool myState;
36 
37  virtual void buttonEvent(coButton *source);
38 
39 public:
40  coCheckboxMenuItem(const std::string &name, bool on, coCheckboxGroup *group = 0);
41  virtual ~coCheckboxMenuItem();
42  void setState(bool newState, bool generateEvent, bool updateGroup = false);
43  void setState(bool newState)
44  {
45  setState(newState, false);
46  }
47  bool getState() const;
48  // void setGroup(coCheckboxGroup * cbg);
49  coCheckboxGroup *getGroup();
50  int hit(vruiHit *hit);
51  void miss();
52 
53  virtual void selected(bool select);
54  virtual void doActionRelease();
55 
57  virtual const char *getClassName() const;
59  virtual bool isOfClassName(const char *) const;
60 
62  virtual void setActive(bool a);
63 };
64 }
65 #endif
Action listener for events triggered by coButton.
Definition: coButton.h:23
Definition: vruiHit.h:20
coButton * checkBox
actual button which is used for interaction
Definition: coCheckboxMenuItem.h:33
Definition: coButton.h:36
Definition: coAction.h:25
Definition: coRowMenuItem.h:30
Definition: coCheckboxMenuItem.h:30
coCheckboxGroup * group
checkbox group this checkbox belongs to
Definition: coCheckboxMenuItem.h:34
void setState(bool newState)
Definition: coCheckboxMenuItem.h:43
bool myState
Definition: coCheckboxMenuItem.h:35
Definition: coCheckboxGroup.h:26