OpenCOVER
coRowMenu.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//-*-c++-*-
9#ifndef CO_ROW_MENU_H
10#define CO_ROW_MENU_H
11
12#include <OpenVRUI/coMenu.h>
13#include <OpenVRUI/coButton.h>
14
16
17namespace vrui
18{
19
20class coRowContainer;
21class coRowMenuItem;
22class coMenuItem;
23class coButton;
24class coTexturedBackground;
25class coRowMenuHandle;
26class coFrame;
27class coIconButtonToolboxItem;
28
29class coGenericSubMenuItem;
30
36class OPENVRUIEXPORT coRowMenu : public coMenu, public coButtonActor, public coMenuListener
37{
38 friend class coRowMenuItem;
39protected:
44
45public:
46 coRowMenu(const char *title, coMenu *parent = 0, int maxItems = 0, bool inScene = false);
47 virtual ~coRowMenu();
48 virtual void add(coMenuItem *item);
49 virtual void insert(coMenuItem *item, int position);
50 virtual void remove(coMenuItem *item);
51
52 virtual int hit(vruiHit *hit);
53 virtual void miss();
54
55 virtual void selected(bool select);
56 virtual void makeVisible(coMenuItem *item);
57
58 virtual void setTransformMatrix(vruiMatrix *matrix);
59 virtual void setTransformMatrix(vruiMatrix *matrix, float scalefactor);
61 bool update();
63 virtual void setVisible(bool visible);
64 virtual void setScale(float scale);
65 virtual float getScale() const;
66
67 // Functions to Show and Hide the Menu
68 void show();
69 void hide();
70
71 // coGenericSubMenuItem* getSubMenuItem();
72 // void setSubMenuItem(coGenericSubMenuItem*);
73
75 virtual const char *getClassName() const;
77 virtual bool isOfClassName(const char *) const;
78
80 virtual void updateTitle(const char *newTitle);
81
82 virtual int getMaxItems()
83 {
84 return maxItems_;
85 };
86 virtual int getStartPos()
87 {
88 return startPos_;
89 };
90
91protected:
92 virtual void buttonEvent(coButton *source);
93
94private:
95 bool isHidden;
96 bool stateChangeRunning;
97 bool showOperation;
98
99 double t_start;
100 double t_end;
101 double t_now;
102 double stateDelay;
103
104 bool inScene_;
105
106 coCombinedButtonInteraction *interactionB;
107
108 coIconButtonToolboxItem *upItem_, *downItem_;
109 int maxItems_;
110 int startPos_;
111 virtual void menuEvent(coMenuItem *item);
112};
113}
114#endif
collaborative interface manager
Definition: coVRCommunication.h:41
Action listener for events triggered by coButton.
Definition: coButton.h:24
Definition: coButton.h:37
Definition: coCombinedButtonInteraction.h:22
Definition: coFrame.h:29
Definition: coGenericSubMenuItem.h:23
Definition: coIconButtonToolboxItem.h:28
Definition: coMenu.h:51
Action listener for events triggered by any coMenuItem.
Definition: coMenuItem.h:25
Definition: coMenuItem.h:45
Container class that aligns its children in a row.
Definition: coRowContainer.h:19
Definition: coRowMenu.h:37
virtual int getMaxItems()
Definition: coRowMenu.h:82
virtual const char * getClassName() const
get the Element's classname
virtual int hit(vruiHit *hit)
coGenericSubMenuItem * myMenuItem
parent submenu, NULL if this is the topmost menu
Definition: coRowMenu.h:43
virtual void buttonEvent(coButton *source)
virtual coUIElement * getUIElement()
virtual void setScale(float scale)
Sets the menu size by applying a scaling factor to the default size.
virtual void setTransformMatrix(vruiMatrix *matrix)
virtual void add(coMenuItem *item)
virtual void makeVisible(coMenuItem *item)
makes the item visible for joystick interaction
coRowContainer * itemsContainer
menu items (anything below title bar)
Definition: coRowMenu.h:40
void show()
makes the menu visible
coRowMenu(const char *title, coMenu *parent=0, int maxItems=0, bool inScene=false)
virtual ~coRowMenu()
virtual void insert(coMenuItem *item, int position)
virtual void setTransformMatrix(vruiMatrix *matrix, float scalefactor)
coFrame * itemsFrame
all menu items are framed by this frame
Definition: coRowMenu.h:41
virtual void setVisible(bool visible)
virtual void remove(coMenuItem *item)
virtual float getScale() const
Gets the current scaling factor.
virtual int getStartPos()
Definition: coRowMenu.h:86
coRowMenuHandle * handle
the titlebar
Definition: coRowMenu.h:42
virtual void miss()
virtual bool isOfClassName(const char *) const
check if the Element or any ancestor is this classname
virtual void selected(bool select)
Menu is selected via joystick.
void hide()
hides this menu
virtual void updateTitle(const char *newTitle)
update the Title bar
vruiTransformNode * getDCS()
Get Transformation Node.
Handles 'normal' Menus.
Definition: coRowMenuHandle.h:41
Definition: coRowMenuItem.h:31
Definition: coUIElement.h:53
Definition: vruiHit.h:21
Definition: vruiMatrix.h:20
Definition: vruiTransformNode.h:18