OpenCOVER
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
coSubMenuItem.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_SUB_MENUITEM_H
9 #define CO_SUB_MENUITEM_H
10 
11 #include <OpenVRUI/coAction.h>
12 #include <OpenVRUI/coRowMenuItem.h>
13 #include <OpenVRUI/coRotButton.h>
15 #include <string>
16 
17 namespace vrui
18 {
19 
20 class coRotButton;
21 class coBackground;
22 class coCombinedButtonInteraction;
23 
24 class vruiHit;
25 
29 class OPENVRUIEXPORT coSubMenuItem
30  : public coRowMenuItem,
31  public coGenericSubMenuItem,
32  public coRotButtonActor,
33  public coAction
34 {
35 private:
36  bool pressed;
37 
38 protected:
44 
45 public:
46  coSubMenuItem(const std::string &name);
47  virtual ~coSubMenuItem();
48 
49  int hit(vruiHit *hit);
50  void miss();
51 
52  virtual void selected(bool select);
53  virtual void doActionRelease();
54  virtual void doSecondActionRelease();
55 
56  virtual void closeSubmenu();
57  virtual void openSubmenu();
58  virtual void positionSubmenu();
59 
60  virtual void buttonEvent(coRotButton *button);
61 
63  virtual void setAttachment(int attachment);
64 
66  virtual int getAttachment()
67  {
68  return (attachment);
69  };
70 
72  virtual void setActive(bool a);
73 
75  virtual const char *getClassName() const;
77  virtual bool isOfClassName(const char *) const;
78 
80  void setSecondaryItem(coMenuItem *item);
81 };
82 }
83 #endif
Definition: coRotButton.h:35
Definition: vruiHit.h:20
int attachment
Definition: coSubMenuItem.h:41
virtual int getAttachment()
Get the attachment.
Definition: coSubMenuItem.h:66
Definition: coBackground.h:22
coCombinedButtonInteraction * preventMoveInteraction
Definition: coSubMenuItem.h:43
coMenuItem * secondaryItem
item that is triggered on right-button clicks
Definition: coSubMenuItem.h:42
Definition: coAction.h:25
Definition: coSubMenuItem.h:29
Definition: coRowMenuItem.h:30
Definition: coGenericSubMenuItem.h:22
Definition: coCombinedButtonInteraction.h:20
coRotButton * subMenuIcon
arrow button which is used for interaction
Definition: coSubMenuItem.h:39
coBackground * space
blank space left of label text, used as a margin
Definition: coSubMenuItem.h:40
Action listener for events triggered by coButton.
Definition: coRotButton.h:23
Definition: coMenuItem.h:44