Overview | All Modules | Tutorial | User's Guide | Programming Guide
Previous

COVISE Online Documentation

Next

Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
vrui::coRowMenu Class Reference

This class provides a simple menu for use in 3D space. More...

#include <coRowMenu.h>

Inheritance diagram for vrui::coRowMenu:
vrui::coMenu vrui::coButtonActor vrui::coMenuListener vrui::coAction vrui::coUpdateable

Public Member Functions

 coRowMenu (const char *title, coMenu *parent=0, int maxItems=0, bool inScene=false)
 Constructor. More...
 
virtual ~coRowMenu ()
 Destructor. More...
 
virtual void add (coMenuItem *item)
 Add a new menu item to this menu. More...
 
virtual void insert (coMenuItem *item, int position)
 Insert a menu item into the linked menu item list. More...
 
virtual void remove (coMenuItem *item)
 Remove a menu item from the linked list. More...
 
virtual int hit (vruiHit *hit)
 Hit is called whenever the menu is intersected by the input device. More...
 
virtual void miss ()
 Miss is called once after a hit, if the menu is not intersected anymore. More...
 
virtual void selected (bool select)
 Menu is selected via joystick. More...
 
virtual void makeVisible (coMenuItem *item)
 makes the item visible for joystick interaction More...
 
virtual void setTransformMatrix (vruiMatrix *matrix)
 
virtual void setTransformMatrix (vruiMatrix *matrix, float scalefactor)
 of the menu. More...
 
vruiTransformNodegetDCS ()
 Get Transformation Node. More...
 
bool update ()
 This function frequently updates the menu scale when activated. More...
 
virtual coUIElementgetUIElement ()
 return the actual UI Element that represents this menu. More...
 
virtual void setVisible (bool visible)
 
virtual void setScale (float scale)
 Sets the menu size by applying a scaling factor to the default size. More...
 
virtual float getScale () const
 Gets the current scaling factor. More...
 
void show ()
 makes the menu visible More...
 
void hide ()
 hides this menu More...
 
virtual const char * getClassName () const
 get the Element's classname More...
 
virtual bool isOfClassName (const char *) const
 check if the Element or any ancestor is this classname More...
 
virtual void updateTitle (const char *newTitle)
 update the Title bar More...
 
virtual int getMaxItems ()
 
virtual int getStartPos ()
 
- Public Member Functions inherited from vrui::coMenu
 coMenu (coMenu *parentMenu, const std::string &name)
 Constructor. More...
 
virtual ~coMenu ()
 Sets the matrix which defines location and orientation. More...
 
virtual void setTransformMatrix (vruiMatrix *matrix)=0
 
virtual void setTransformMatrix (vruiMatrix *matrix, float scale)=0
 of the menu. More...
 
virtual void setScale (float s)=0
 Returns the matrix which defines location and orientation of the menu. More...
 
virtual float getScale () const =0
 Gets the current scaling factor. More...
 
virtual void add (coMenuItem *item)
 Add a new menu item to this menu. More...
 
virtual void insert (coMenuItem *item, int location)
 Insert a menu item into the linked menu item list. More...
 
virtual void setMenuListener (coMenuFocusListener *listener)
 Set a new menu listener to receive menu item events. More...
 
virtual int hit (vruiHit *hit)
 Hit is called whenever the menu is intersected by the input device. More...
 
virtual void miss ()
 Miss is called once after a hit, if the menu is not intersected anymore. More...
 
virtual coUIElementgetUIElement ()
 return the actual UI Element that represents this menu. More...
 
virtual void setVisible (bool)
 
virtual void positionAllSubmenus ()
 reposition all submenus, for example after the main menu was repositioned with setTransform matrix More...
 
virtual void remove (coMenuItem *item)
 Remove a menu item from the linked list. More...
 
virtual void removeAll ()
 Remove all menu items from the linked list. More...
 
virtual int getItemCount () const
 Return the number of menu items in the linked list. More...
 
virtual void closeMenu ()
 This method is called when the menu is closed. More...
 
virtual void selected (bool select)
 Menu is selected via joystick. More...
 
virtual void doActionPress ()
 Action is called via joystick. More...
 
virtual void doActionRelease ()
 Action is called via joystick. More...
 
virtual void doSecondActionPress ()
 Action is called via joystick. More...
 
virtual void doSecondActionRelease ()
 Action is called via joystick. More...
 
virtual void makeVisible (coMenuItem *)
 makes the item visible for joystick interaction More...
 
virtual vruiTransformNodegetDCS ()=0
 Get Transformation Node. More...
 
virtual bool isInteractionActive () const
 
coCombinedButtonInteractiongetInteraction () const
 
coCombinedButtonInteractiongetMoveInteraction () const
 
virtual void show ()=0
 makes the menu visible More...
 
virtual void hide ()=0
 hides this menu More...
 
void setShowMode (int mode)
 This methode sets the desired showMode. More...
 
int getShowMode () const
 This methode returns the showMode currently set. More...
 
virtual void setSubMenuItem (coGenericSubMenuItem *item)
 Set submenu item from which this menu can be accessed. More...
 
coGenericSubMenuItemgetSubMenuItem ()
 Get submenu item from which this menu can be accessed. More...
 
virtual const char * getClassName () const
 get the Element's classname More...
 
virtual bool isOfClassName (const char *) const
 check if the Element or any ancestor is this classname More...
 
void closeAllOtherMenus (coMenuItem *leave=0)
 close all menus: optionally leave one open More...
 
void removeAllAfter (coMenuItem *last)
 remove all items behind a given one More...
 
bool isVisible () const
 check whether menu is currently visible More...
 
const char * getName () const
 get my menu's name More...
 
coMenuItemVector getAllItems ()
 
coMenuItemgetItemByName (const char *name)
 
int index (const coMenuItem *item)
 
void setParent (coMenu *newParent)
 
const coMenugetParent ()
 
virtual void setAttachment (int att)
 
virtual int getAttachment () const
 
bool wasMoved () const
 
void setMoved (bool flag)
 
- Public Member Functions inherited from vrui::coAction
 coAction ()
 Constructor. More...
 
virtual ~coAction ()
 Destructor. More...
 
virtual int hit (vruiHit *hit)=0
 hit is called whenever the node, or any node underneath the node with this action is intersected return ACTION_CALL_ON_MISS if you want miss to be called otherwise return ACTION_DONE More...
 
virtual void miss ()
 miss is called once after a hit, if the node is not intersected anymore More...
 
void setFrame (unsigned int frame)
 INTERNAL set the framecounter (used to produce the miss call) More...
 
unsigned int getFrame () const
 INTERNAL get the framecounter (used to produce the miss call) More...
 
void setNode (vruiNode *)
 INTERNAL set the node this action belongs to. More...
 
void addChild (coAction *)
 INTERNAL add a child action. More...
 
virtual int hitAll (vruiHit *hit)
 INTERNAL same as miss/hit, but do it for all children as well. More...
 
virtual void missAll ()
 INTERNAL same as miss/hit, but do it for all children as well. More...
 
- Public Member Functions inherited from vrui::coUpdateable
 coUpdateable ()
 Constructor. More...
 
virtual ~coUpdateable ()
 you should adds this object to the update manager in your constructor More...
 
virtual bool update ()=0
 this method is called once per frame as long as it returns true. More...
 
- Public Member Functions inherited from vrui::coButtonActor
virtual ~coButtonActor ()
 
virtual void buttonEvent (coButton *button)=0
 
- Public Member Functions inherited from vrui::coMenuListener
virtual ~coMenuListener ()
 Action listener for events triggered by coMenuItem. More...
 
virtual void menuEvent (coMenuItem *menuItem)
 
virtual void menuPressEvent (coMenuItem *menuItem)
 
virtual void menuReleaseEvent (coMenuItem *menuItem)
 

Protected Member Functions

virtual void buttonEvent (coButton *source)
 

Protected Attributes

coRowContaineritemsContainer
 menu items (anything below title bar) More...
 
coFrameitemsFrame
 all menu items are framed by this frame More...
 
coRowMenuHandlehandle
 the titlebar More...
 
coGenericSubMenuItemmyMenuItem
 parent submenu, NULL if this is the topmost menu More...
 
- Protected Attributes inherited from vrui::coMenu
std::list< coMenuItem * > items
 list of menu items which can be accessed from this menu More...
 
coMenuparent
 parent menu, NULL if this is the topmost menu More...
 
coGenericSubMenuItemmyMenuItem
 
coMenuFocusListenerlistener
 menu event listener, triggered on menu selection More...
 
int showMode
 how to show and hide this Menu More...
 
bool visible
 
std::string name
 
coCombinedButtonInteractioninteraction
 
coCombinedButtonInteractionmoveInteraction
 
coCombinedButtonInteractionwheelInteraction
 interaction for preventing accidental global wheel interaction More...
 
float scale_
 
vruiMatrixmatrix_
 
int attachment_
 
bool wasMoved_ = false
 
- Protected Attributes inherited from vrui::coAction
std::string actionName
 name of this action this can be used to distinguish betwenn different types of actions like touch and intersection actions More...
 

Friends

class coRowMenuItem
 

Additional Inherited Members

- Public Types inherited from vrui::coMenu
enum  { MENU_ONOFF = 0 , MENU_SLIDE }
 
- Public Types inherited from vrui::coAction
enum  Result { ACTION_DONE = 0x00 , ACTION_CALL_ON_MISS = 0x01 , ACTION_UNDEF = 0x02 }
 

Detailed Description

This class provides a simple menu for use in 3D space.

The MenuItems are layed out in a row. It has a title bar (coMenuHandle) that shows the menu's name and can be used to reposition and scale the menu. There are buttons in the Menu to show, hide and close the menu.

Constructor & Destructor Documentation

◆ coRowMenu()

vrui::coRowMenu::coRowMenu ( const char *  name,
coMenu parent = 0,
int  maxItems = 0,
bool  inScene = false 
)

Constructor.

Parameters
namename of the Menu which is displayed on the titlebar
parentpointer to parent menu class, NULL if this is the topmost menu

◆ ~coRowMenu()

vrui::coRowMenu::~coRowMenu ( )
virtual

Destructor.

Member Function Documentation

◆ add()

void vrui::coRowMenu::add ( coMenuItem item)
virtual

Add a new menu item to this menu.

The menu item is appended to the end of the local linked list of menu items.

Reimplemented from vrui::coMenu.

◆ buttonEvent()

void vrui::coRowMenu::buttonEvent ( coButton source)
protectedvirtual

Implements vrui::coButtonActor.

◆ getClassName()

const char * vrui::coRowMenu::getClassName ( ) const
virtual

get the Element's classname

Reimplemented from vrui::coMenu.

◆ getDCS()

vruiTransformNode * vrui::coRowMenu::getDCS ( )
virtual

Get Transformation Node.

Implements vrui::coMenu.

◆ getMaxItems()

virtual int vrui::coRowMenu::getMaxItems ( )
inlinevirtual

◆ getScale()

float vrui::coRowMenu::getScale ( ) const
virtual

Gets the current scaling factor.

Implements vrui::coMenu.

◆ getStartPos()

virtual int vrui::coRowMenu::getStartPos ( )
inlinevirtual

◆ getUIElement()

coUIElement * vrui::coRowMenu::getUIElement ( )
virtual

return the actual UI Element that represents this menu.

Reimplemented from vrui::coMenu.

◆ hide()

void vrui::coRowMenu::hide ( )
virtual

hides this menu

Implements vrui::coMenu.

◆ hit()

int vrui::coRowMenu::hit ( vruiHit hit)
virtual

Hit is called whenever the menu is intersected by the input device.

Reimplemented from vrui::coMenu.

◆ insert()

void vrui::coRowMenu::insert ( coMenuItem item,
int  pos 
)
virtual

Insert a menu item into the linked menu item list.

Parameters
itemmenu item to insert
posmenu item index before which to insert the new item

Reimplemented from vrui::coMenu.

◆ isOfClassName()

bool vrui::coRowMenu::isOfClassName ( const char *  classname) const
virtual

check if the Element or any ancestor is this classname

Reimplemented from vrui::coMenu.

◆ makeVisible()

void vrui::coRowMenu::makeVisible ( coMenuItem item)
virtual

makes the item visible for joystick interaction

Reimplemented from vrui::coMenu.

◆ miss()

void vrui::coRowMenu::miss ( )
virtual

Miss is called once after a hit, if the menu is not intersected anymore.

Reimplemented from vrui::coMenu.

◆ remove()

void vrui::coRowMenu::remove ( coMenuItem item)
virtual

Remove a menu item from the linked list.

Reimplemented from vrui::coMenu.

◆ selected()

void vrui::coRowMenu::selected ( bool  select)
virtual

Menu is selected via joystick.

select is called if the menu is selected via joystick highlight the handle

Reimplemented from vrui::coMenu.

◆ setScale()

void vrui::coRowMenu::setScale ( float  scale)
virtual

Sets the menu size by applying a scaling factor to the default size.

Implements vrui::coMenu.

◆ setTransformMatrix() [1/2]

void vrui::coRowMenu::setTransformMatrix ( vruiMatrix matrix)
virtual

Implements vrui::coMenu.

◆ setTransformMatrix() [2/2]

void vrui::coRowMenu::setTransformMatrix ( vruiMatrix matrix,
float  scale 
)
virtual

of the menu.

Sets the matrix which defines location orientation and scale of the menu and the scale factor included in the matrix.

Implements vrui::coMenu.

◆ setVisible()

void vrui::coRowMenu::setVisible ( bool  visible)
virtual

Reimplemented from vrui::coMenu.

◆ show()

void vrui::coRowMenu::show ( )
virtual

makes the menu visible

Implements vrui::coMenu.

◆ update()

bool vrui::coRowMenu::update ( )
virtual

This function frequently updates the menu scale when activated.

Implements vrui::coUpdateable.

◆ updateTitle()

void vrui::coRowMenu::updateTitle ( const char *  newTitle)
virtual

update the Title bar

Friends And Related Function Documentation

◆ coRowMenuItem

friend class coRowMenuItem
friend

Member Data Documentation

◆ handle

coRowMenuHandle* vrui::coRowMenu::handle
protected

the titlebar

◆ itemsContainer

coRowContainer* vrui::coRowMenu::itemsContainer
protected

menu items (anything below title bar)

◆ itemsFrame

coFrame* vrui::coRowMenu::itemsFrame
protected

all menu items are framed by this frame

◆ myMenuItem

coGenericSubMenuItem* vrui::coRowMenu::myMenuItem
protected

parent submenu, NULL if this is the topmost menu


The documentation for this class was generated from the following files:
PreviousNext

Authors: Martin Aumüller, Ruth Lang, Daniela Rainer, Jürgen Schulze-Döbold, Andreas Werner, Peter Wolf, Uwe Wössner
Copyright © 1993-2009 HLRS, 2004-2009 RRZK, 2005-2009 Visenso
COVISE Version 6.5 Academic