OpenCOVER
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
coMenuItem.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_MENUITEM_H
9 #define CO_MENUITEM_H
10 
11 #include <OpenVRUI/coUIElement.h>
12 #include <string>
13 
14 namespace vrui
15 {
16 
17 class coMenuContainer;
18 class coColoredBackground;
19 class coMenu;
20 class coLabel;
21 class coMenuItem;
22 
24 class OPENVRUIEXPORT coMenuListener
25 {
26 public:
31  virtual ~coMenuListener()
32  {
33  }
34  virtual void menuEvent(coMenuItem *menuItem);
35  virtual void menuPressEvent(coMenuItem *menuItem);
36  virtual void menuReleaseEvent(coMenuItem *menuItem);
37 };
38 
44 class OPENVRUIEXPORT coMenuItem
45 {
46 protected:
47  bool visible;
49  coMenuListener *listener;
51  std::string myName;
53 
55  bool active_;
56 
57 public:
58  coMenuItem(const std::string &name);
59  virtual ~coMenuItem();
60 
61  virtual void setMenuListener(coMenuListener *listener);
62  virtual coMenuListener *getMenuListener();
63 
64  virtual void setParentMenu(coMenu *parent);
65  virtual void setVisible(bool visible);
66  virtual bool isVisible() const;
67  virtual void setAttachment(int /*attachment*/)
68  {
69  }
70 
71  virtual const char *getName() const;
72  virtual coUIElement *getUIElement();
73 
75  virtual const char *getClassName() const;
77  virtual bool isOfClassName(const char *) const;
78 
81  {
82  return myMenu;
83  }
84 
86  void setName(const std::string &newName, bool updateTwins = true);
87 
89  virtual void setActive(bool a)
90  {
91  active_ = a;
92  };
94  virtual bool getActive()
95  {
96  return active_;
97  };
98 
100  virtual void setLabel(const std::string &newName);
101 
102  virtual void selected(bool select);
103  virtual void doActionPress();
104  virtual void doActionRelease();
105  virtual void doSecondActionPress();
106  virtual void doSecondActionRelease();
107 };
108 }
109 #endif
bool visible
Definition: coMenuItem.h:47
Definition: coMenu.h:50
bool active_
flag if item is active
Definition: coMenuItem.h:55
coMenu * getParentMenu()
get my parent menu
Definition: coMenuItem.h:80
virtual void setActive(bool a)
functions activates or deactivates the item
Definition: coMenuItem.h:89
coMenu * myMenu
this menu item
Definition: coMenuItem.h:48
Definition: coUIElement.h:52
Action listener for events triggered by any coMenuItem.
Definition: coMenuItem.h:24
virtual ~coMenuListener()
Definition: coMenuItem.h:31
virtual bool getActive()
return if item is active
Definition: coMenuItem.h:94
virtual void setAttachment(int)
sets the attachment border
Definition: coMenuItem.h:67
Definition: coMenuItem.h:44