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

COVISE Online Documentation

Next

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

Handles 'normal' Menus. More...

#include <coRowMenuHandle.h>

Inheritance diagram for vrui::coRowMenuHandle:
vrui::coRowContainer vrui::coAction vrui::coUpdateable vrui::coButtonActor vrui::coUIContainer vrui::coUIElement

Public Member Functions

 coRowMenuHandle (const std::string &title, coMenu *menu)
 Creates a titlebar for RowMenus. More...
 
virtual ~coRowMenuHandle ()
 Destructor. More...
 
virtual void setTransformMatrix (vruiMatrix *matrix)
 set a new menu position and orientation matrix. More...
 
virtual void setTransformMatrix (vruiMatrix *matrix, float scale)
 set a new menu position orientation and scale matrix. More...
 
virtual void setScale (float scale)
 scales the menu. More...
 
virtual float getScale () const
 Get Scale factor. More...
 
virtual bool update ()
 In this method, the menu is moved and scaled during userinteractions. More...
 
virtual void resizeToParent (float, float, float, bool shrink=true)
 This method is called by containers after they resized to allow children to adjust their geometry to the new parents' size Children must not call childResized() of their parent here, as this could lead to an infinite loop. More...
 
virtual int hit (vruiHit *hit)
 hit is called whenever the button 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 ()
 Called when input device leaves the element. More...
 
virtual void highlight (bool highlight)
 
virtual void shrinkToMin ()
 shrink all children. More...
 
virtual void createGeometry ()
 
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 More...
 
bool wasMoved () const
 
- Public Member Functions inherited from vrui::coRowContainer
 coRowContainer (Orientation orientation=HORIZONTAL)
 Constructor. More...
 
virtual ~coRowContainer ()
 Destructor, does not delete its children. More...
 
virtual void addElement (coUIElement *element)
 Appends a child to this container. More...
 
virtual void removeElement (coUIElement *element)
 Removes a child from this container. More...
 
virtual void insertElement (coUIElement *element, int pos)
 Inserts a child into this container. More...
 
virtual void resizeToParent (float, float, float, bool shrink=true)
 This method is called by containers after they resized to allow children to adjust their geometry to the new parents' size Children must not call childResized() of their parent here, as this could lead to an infinite loop. More...
 
virtual void shrinkToMin ()
 shrink all children. More...
 
void hide (coUIElement *element)
 Hide one of the children. More...
 
void show (coUIElement *element)
 Show one of the children. More...
 
void setPos (float x, float y, float z=0.0f)
 
void setOrientation (Orientation orientation)
 Change the orientation of the container. More...
 
int getOrientation () const
 Retrieve the orientation of the container. More...
 
void setAlignment (int alignment)
 Change the alignment of the children. More...
 
void setHgap (float g)
 Change the horizontal gap between children. More...
 
void setVgap (float g)
 Change the vertical gap between children. More...
 
void setDgap (float g)
 Change the depth gap between children. More...
 
vruiTransformNodegetDCS ()
 
virtual float getWidth () const
 Returns element width. More...
 
virtual float getHeight () const
 Returns element height. More...
 
virtual float getDepth () const
 Get z axis object size. More...
 
virtual float getXpos () const
 Returns element x position. More...
 
virtual float getYpos () const
 Returns element y position. More...
 
virtual float getZpos () const
 Get z position. More...
 
virtual float getVgap () const
 
virtual float getHgap () const
 
virtual float getDgap () const
 
virtual void setAttachment (int attachment)
 sets the attachment border More...
 
virtual int getAttachment () const
 returns the attachment border 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...
 
- Public Member Functions inherited from vrui::coUIContainer
 coUIContainer ()
 Constructor. More...
 
virtual ~coUIContainer ()
 Destructor. More...
 
virtual void setEnabled (bool enabled)
 Set activation state of this container and all its children. More...
 
virtual void setHighlighted (bool highlighted)
 Set highlight state of this container and all its children. More...
 
virtual void resizeToParent (float x, float y, float z, bool shrink=true)
 This method is called by containers after they resized to allow children to adjust their geometry to the new parents' size Children must not call childResized() of their parent here, as this could lead to an infinite loop. More...
 
virtual void shrinkToMin ()
 Set element location in space. More...
 
virtual void addElement (coUIElement *element)
 Appends a child to this container. More...
 
virtual void removeElement (coUIElement *element)
 Removes a child from this container. More...
 
virtual void removeLastElement ()
 Removes a child from this container. More...
 
virtual void showElement (coUIElement *element)
 Adds the specified element to the scenegraph. More...
 
void setXAlignment (int a)
 set the alignment in X direction of the children More...
 
void setYAlignment (int a)
 set the alignment in Y direction of the children More...
 
void setZAlignment (int a)
 set the alignment in Z direction of the children 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...
 
float getMaxH () const
 maximum size in H direction More...
 
float getMaxW () const
 maximum size in W direction More...
 
float getMaxD () const
 maximum size in D direction More...
 
float getSumH () const
 sum of sizes in H direction More...
 
float getSumW () const
 sum of sizes in W direction More...
 
float getSumD () const
 sum of sizes in D direction More...
 
int getSize ()
 
- Public Member Functions inherited from vrui::coUIElement
 coUIElement ()
 
virtual ~coUIElement ()
 Destructor. More...
 
virtual void createGeometry ()
 
virtual void setParent (coUIContainer *)
 Set parent container. More...
 
virtual coUIContainergetParent ()
 Get parent container. More...
 
virtual void setEnabled (bool enabled)
 Set activation state. More...
 
virtual void setHighlighted (bool highlighted)
 Set highlight state. More...
 
virtual void setVisible (bool visible)
 Set element visibility. More...
 
virtual bool isEnabled () const
 Get activation state. More...
 
virtual bool isHighlighted () const
 Get highlight state. More...
 
virtual bool isVisible () const
 Get visibility state. More...
 
virtual float getWidth () const =0
 Returns element width. More...
 
virtual float getHeight () const =0
 Returns element height. More...
 
virtual float getDepth () const
 Get z axis object size. More...
 
virtual float getXpos () const =0
 Returns element x position. More...
 
virtual float getYpos () const =0
 Returns element y position. More...
 
virtual float getZpos () const
 Get z position. More...
 
virtual void childResized (bool shrink=true)
 This method is called by children whenever they change their size Implementations of this method should call the childResized() of their parent container. More...
 
virtual void resizeToParent (float, float, float, bool shrink=true)
 This method is called by containers after they resized to allow children to adjust their geometry to the new parents' size Children must not call childResized() of their parent here, as this could lead to an infinite loop. More...
 
virtual void shrinkToMin ()
 Set element location in space. More...
 
virtual void setPos (float, float, float)=0
 
virtual void setSize (float, float, float)
 Set UI element size. More...
 
virtual void setSize (float)
 Set UI element size, use equal values for all dimensions. More...
 
virtual float getResizePref ()
 
virtual void setUserData (coUIUserData *)
 Set the current userdata object. More...
 
virtual coUIUserDatagetUserData () const
 Returns the current userdata object. More...
 
virtual vruiTransformNodegetDCS ()
 
virtual vruiUIElementProvidergetUIElementProvider () const
 
virtual void setAttachment (int)
 sets the attachment border More...
 
virtual int getAttachment () const
 returns the attachment border More...
 
void setUniqueName (const char *)
 
const char * getUniqueName () const
 
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...
 
- 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
 

Protected Member Functions

virtual void buttonEvent (coButton *button)
 
- Protected Member Functions inherited from vrui::coRowContainer
float getExtW () const
 get my current extension in given direction More...
 
float getExtH () const
 
- Protected Member Functions inherited from vrui::coUIContainer
virtual void resizeGeometry ()
 
- Protected Member Functions inherited from vrui::coUIElement
virtual void resizeGeometry ()
 
virtual const vruiMatrixgetTransformMatrix ()
 

Protected Attributes

coMenumyMenu
 pointer to the menue it handles More...
 
coCombinedButtonInteractioninteractionA
 interaction for first button More...
 
coCombinedButtonInteractioninteractionB
 interaction for second button More...
 
coCombinedButtonInteractioninteractionC
 interaction for third button More...
 
bool unregister
 
vruiMatrixstartPosition
 transformation matrix at the beginning of an interaction More...
 
coVector localPickPosition
 point in local menu coordinates where the titlebar was picked More...
 
coVector pickPosition
 point in world coordinates where the titlebar was picked More...
 
vruiMatrixinvStartHandTrans
 inverse transformation of the pointer at the beginning of an interaction More...
 
float lastRoll
 roll angle during the last frame More...
 
float myScale
 the menu size More...
 
- Protected Attributes inherited from vrui::coRowContainer
vruiTransformNodemyDCS
 transformation node to position this container More...
 
float myX
 position and size More...
 
float myY
 
float myZ
 
float myHeight
 
float myWidth
 
float myDepth
 
Orientation orientation
 layout orientation More...
 
int alignment
 alignment of the children More...
 
float Hgap
 Horizontal-, vertical- and depth-gap, default is 5mm for H and Vgap, 0 for Dgap. More...
 
float Vgap
 
float Dgap
 
int attachment
 
- Protected Attributes inherited from vrui::coUIContainer
int xAlignment
 alignment on children in X direction More...
 
int yAlignment
 alignment on children in Y direction More...
 
int zAlignment
 alignment on children in Z direction More...
 
std::list< coUIElement * > elements
 List of children elements. More...
 
float prefWidth
 try to get That high/wide if possible More...
 
float prefHeight
 
- Protected Attributes inherited from vrui::coUIElement
float xScaleFactor
 UI element x axis scale factor. More...
 
float yScaleFactor
 UI element y axis scale factor. More...
 
float zScaleFactor
 UI element z axis scale factor. More...
 
bool enabled
 true if UI element is enabled, false if UI element cannot be used More...
 
bool highlighted
 true if highlighted More...
 
bool visible
 true if UI element is visible, false if not visible but still present in scene tree More...
 
vruiUIElementProvideruiElementProvider
 
- 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...
 

Additional Inherited Members

- Public Types inherited from vrui::coRowContainer
enum  Orientation { HORIZONTAL = 0 , VERTICAL }
 orientation of this container More...
 
- Public Types inherited from vrui::coUIContainer
enum  { CENTER = 0 , MIN , MAX , BOTH }
 Alignment specification for children. More...
 
- Public Types inherited from vrui::coUIElement
enum  Material {
  RED = 0 , GREEN , BLUE , YELLOW ,
  GREY , WHITE , BLACK , DARK_YELLOW ,
  WHITE_NL , ITEM_BACKGROUND_NORMAL , ITEM_BACKGROUND_HIGHLIGHTED , ITEM_BACKGROUND_DISABLED ,
  HANDLE_BACKGROUND_NORMAL , HANDLE_BACKGROUND_HIGHLIGHTED , HANDLE_BACKGROUND_DISABLED , BACKGROUND ,
  NUM_MATERIALS
}
 Color definitions, to be used whenever a material is needed. More...
 
enum  {
  LEFT = 0 , TOP , RIGHT , BOTTOM ,
  REPLACE
}
 attachment order is counterclockwise like this and describes the side/border which the item is attached to! More...
 
- Public Types inherited from vrui::coAction
enum  Result { ACTION_DONE = 0x00 , ACTION_CALL_ON_MISS = 0x01 , ACTION_UNDEF = 0x02 }
 
- Static Public Member Functions inherited from vrui::coUIElement
static vruiMatrixgetMatrixFromPositionHprScale (float x, float y, float z, float h, float p, float r, float scale)
 Constructor. More...
 
- Public Attributes inherited from vrui::coUIContainer
enum vrui::coUIContainer:: { ... }  alignments
 Alignment specification for children. More...
 
- Public Attributes inherited from vrui::coUIElement
enum vrui::coUIElement:: { ... }  Attachments
 attachment order is counterclockwise like this and describes the side/border which the item is attached to! More...
 

Detailed Description

Handles 'normal' Menus.

Constructor & Destructor Documentation

◆ coRowMenuHandle()

vrui::coRowMenuHandle::coRowMenuHandle ( const std::string &  title,
coMenu menu 
)

Creates a titlebar for RowMenus.

Parameters
nametext displayed in title bar
menuthe menu to handle

◆ ~coRowMenuHandle()

vrui::coRowMenuHandle::~coRowMenuHandle ( )
virtual

Destructor.

Member Function Documentation

◆ buttonEvent()

void vrui::coRowMenuHandle::buttonEvent ( coButton button)
protectedvirtual

Implements vrui::coButtonActor.

◆ createGeometry()

virtual void vrui::coRowMenuHandle::createGeometry ( )
inlinevirtual

Reimplemented from vrui::coUIElement.

◆ getClassName()

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

get the Element's classname

Reimplemented from vrui::coRowContainer.

◆ getScale()

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

Get Scale factor.

Returns
current scale factor (default is 1.0)

◆ highlight()

void vrui::coRowMenuHandle::highlight ( bool  highlight)
virtual

◆ hit()

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

hit is called whenever the button with this action is intersected return ACTION_CALL_ON_MISS if you want miss to be called otherwise return ACTION_DONE

This method is called on intersections of the input device with the titlebar.

Returns
ACTION_CALL_ON_MISS

Implements vrui::coAction.

◆ isOfClassName()

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

check if the Element or any ancestor is this classname

Reimplemented from vrui::coRowContainer.

◆ miss()

void vrui::coRowMenuHandle::miss ( )
virtual

Called when input device leaves the element.

Reimplemented from vrui::coAction.

◆ resizeToParent()

void vrui::coRowMenuHandle::resizeToParent ( float  ,
float  ,
float  ,
bool  shrink = true 
)
virtual

This method is called by containers after they resized to allow children to adjust their geometry to the new parents' size Children must not call childResized() of their parent here, as this could lead to an infinite loop.

Derived elements do not have to implement this method.

Parameters
newWidth,newHeight,newDepthdesired size

Reimplemented from vrui::coRowContainer.

◆ setScale()

void vrui::coRowMenuHandle::setScale ( float  s)
virtual

scales the menu.

Default scale is 1, the menu is scaled around the center of the titlebar

◆ setTransformMatrix() [1/2]

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

set a new menu position and orientation matrix.

the Menu is scaled to the correct size after applying this matrix

◆ setTransformMatrix() [2/2]

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

set a new menu position orientation and scale matrix.

Parameters
mattransformation matrix which includes scale
scalescale factor included in the above matrix

◆ shrinkToMin()

void vrui::coRowMenuHandle::shrinkToMin ( )
virtual

shrink all children.

adapt own size on maximum of them?

Reimplemented from vrui::coRowContainer.

◆ update()

bool vrui::coRowMenuHandle::update ( )
virtual

In this method, the menu is moved and scaled during userinteractions.

Returns
true, so that it is called during each frame

Implements vrui::coUpdateable.

◆ updateTitle()

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

update the title

◆ wasMoved()

bool vrui::coRowMenuHandle::wasMoved ( ) const

Member Data Documentation

◆ interactionA

coCombinedButtonInteraction* vrui::coRowMenuHandle::interactionA
protected

interaction for first button

◆ interactionB

coCombinedButtonInteraction* vrui::coRowMenuHandle::interactionB
protected

interaction for second button

◆ interactionC

coCombinedButtonInteraction* vrui::coRowMenuHandle::interactionC
protected

interaction for third button

◆ invStartHandTrans

vruiMatrix* vrui::coRowMenuHandle::invStartHandTrans
protected

inverse transformation of the pointer at the beginning of an interaction

◆ lastRoll

float vrui::coRowMenuHandle::lastRoll
protected

roll angle during the last frame

◆ localPickPosition

coVector vrui::coRowMenuHandle::localPickPosition
protected

point in local menu coordinates where the titlebar was picked

◆ myMenu

coMenu* vrui::coRowMenuHandle::myMenu
protected

pointer to the menue it handles

◆ myScale

float vrui::coRowMenuHandle::myScale
protected

the menu size

◆ pickPosition

coVector vrui::coRowMenuHandle::pickPosition
protected

point in world coordinates where the titlebar was picked

◆ startPosition

vruiMatrix* vrui::coRowMenuHandle::startPosition
protected

transformation matrix at the beginning of an interaction

◆ unregister

bool vrui::coRowMenuHandle::unregister
protected

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