OpenCOVER
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
coSubMenuToolboxItem.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_SUBMENU_TOOLBOXITEM_H
9 #define CO_SUBMENU_TOOLBOXITEM_H
10 
11 #include <OpenVRUI/coAction.h>
14 #include <OpenVRUI/coRotButton.h>
15 
16 #include <string>
17 
18 namespace vrui
19 {
20 
21 class vruiHit;
22 
29 class OPENVRUIEXPORT coSubMenuToolboxItem
30  : public coToolboxMenuItem,
31  public coGenericSubMenuItem,
32  public coRotButtonActor,
33  public coAction
34 {
35 private:
36  bool pressed;
37 
38 protected:
41 
42 public:
43  coSubMenuToolboxItem(const std::string &name);
44  virtual ~coSubMenuToolboxItem();
45 
46  int hit(vruiHit *hit) override;
47  void miss() override;
48 
49  virtual void selected(bool select) override;
50  virtual void doActionRelease() override;
51 
52  virtual void setMenu(coMenu *menu) override;
53  virtual void closeSubmenu() override;
54  virtual void openSubmenu() override;
55 
56  virtual void setAttachment(int attachment) override = 0;
57 
59  virtual void setActive(bool a) override;
60 
62  virtual const char *getClassName() const override;
64  virtual bool isOfClassName(const char *) const override;
65 
66  void positionSubmenu() override;
67 };
68 }
69 #endif
Definition: coRotButton.h:35
Definition: coMenu.h:50
int attachment
Definition: coSubMenuToolboxItem.h:40
Definition: vruiHit.h:20
Definition: coSubMenuToolboxItem.h:29
Definition: coAction.h:25
Definition: coToolboxMenuItem.h:24
Definition: coGenericSubMenuItem.h:22
coRotButton * subMenuIcon
arrow button which is used for interaction
Definition: coSubMenuToolboxItem.h:39
Action listener for events triggered by coButton.
Definition: coRotButton.h:23