vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
APGUI::GUI_Item Class Referenceabstract

VRECKO GUI Item class. More...

#include <GUI_item.h>

Inheritance diagram for APGUI::GUI_Item:
vrecko::Ability vrecko::BaseClass APGUI::ColorPicker APGUI::Icon APGUI::Menu APGUI::Slider APGUI::IconColour

Public Member Functions

 GUI_Item (const char *abName)
 
 ~GUI_Item ()
 
string getGUIItemName ()
 
virtual void pointed (bool pointed)=0
 Called when user point with cursor (hand, usually) to this GUI element. More...
 
virtual void setState (GUI_ITEM_STATE newState)=0
 Set new state of item. More...
 
virtual bool processAction (const int sensorNumber, const APGUI::GUI_ACTION action, const bool pressed)=0
 Called when user presses defined button. More...
 
bool isDefaultStateActive ()
 returns if initial state of this item is active (false in most cases) More...
 
void show ()
 
void hide ()
 
void hideTooltip ()
 
void showTooltip ()
 
virtual void setColours (osg::Vec4 colourActive, osg::Vec4 colourDefault, osg::Vec4 colourHovered, osg::Vec4 colourPressed, osg::Vec4 colourDisabled)
 Called, when visual models have to be switched (user pointed or clicked on some GUI item) More...
 
- Public Member Functions inherited from vrecko::Ability
virtual ~Ability ()
 copy constructor More...
 
const std::string & getName () const
 Returns the ability name. More...
 
void setPluginName (const char *pName)
 Sets the plugin name. More...
 
const std::string & getPluginName (void) const
 Returns the plugin name. More...
 
const std::string & getID (void) const
 Returns ability the identification string. More...
 
void setID (const char *pID)
 (Internal usage, most people should not need to use it.) Sets the ability ID. More...
 
virtual void clean (void)
 
void setOwner (BaseClass *owner)
 (Internal usage, most people should not need to use it.) Sets ability owner. *l This method is called automatically in World::createAbility(), so one would (almost?) never want to use it directly. More...
 
BaseClassgetOwner (void)
 Returns the ability owner. More...
 
virtual ParameterVectorgetParameterVector (void)
 Return vector of the parameter description. More...
 
bool isUpdated (void)
 Set update flag. More...
 
virtual const std::string & getSenderString (void)
 Returns the identification string of sender. More...
 
- Public Member Functions inherited from vrecko::BaseClass
 BaseClass (const char *startingSenderString)
 The main constructor. More...
 
 BaseClass (BaseClass &bc)
 Copy constructor. Probably not really used. More...
 
virtual ~BaseClass ()
 Destructor. More...
 
virtual bool initialize (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *parameters=NULL)
 Core initialization. More...
 
virtual bool initializeFromString (const char *xmlString)
 Helper method that allows to initialize ability from a XML-formatted string. More...
 
virtual void update (void)
 This method is called periodically in case this instance is registered in Scheduler. More...
 
virtual
XERCES_CPP_NAMESPACE_QUALIFIER
DOMNode
saveXMLParameters (XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *)
 Save current setting into a XML node. More...
 
bool inputPresent (const std::string &name)
 Returns true if input pin (not request inputpin ) with given name is present. More...
 
bool outputPresent (const std::string &name)
 Returns true if output pin (not request output pin) with given name is present. More...
 
void addInputPin (InputPinBase *pin)
 Adds an input pin. More...
 
void removeInputPin (InputPinBase *pin)
 Removes an input pin. More...
 
void addOutputPin (OutputPinBase *pin)
 Adds an output pin. More...
 
void removeOutputPin (OutputPinBase *pin)
 Removes and output pin. More...
 
void addRequestInputPin (RequestInputPinBase *pin)
 Adds a request input pin. More...
 
void removeRequestInputPin (RequestInputPinBase *pin)
 Removes a request input pin. More...
 
void addRequestOutputPin (RequestOutputPinBase *pin)
 Adds a request output pin. More...
 
void removeRequestOutputPin (RequestOutputPinBase *pin)
 Removes a request output pin. More...
 
bool addNotification (BaseClass *receiver, unsigned long notificationTypes)
 Registers an observer that will be notified if a specific change occurs. More...
 
bool removeNotification (BaseClass *receiver, unsigned long notificationTypes=NOTIFICATION_ALL)
 Unregisters a previously registered observer. More...
 
virtual void processEvent (const std::string &input_name, VreckoMessage *pMessage)
 Internal method for processing the events. More...
 
virtual VreckoMessageprocessRequest (const std::string &request_input_name, VreckoMessage *pMessage)
 Internal method for processing the requests. More...
 
void reportError (const std::string &error)
 Print error message. More...
 
void setPriority (long int pr)
 Sets the priority. (Possible problems - read the full description for more info) More...
 
long int getPriority (void) const
 Returns current object priority. More...
 
void setAttribute (const std::string &attr_name, int attr_value)
 Sets an attribute value. More...
 
int getAttribute (const std::string &attr_name)
 Returns attribute value. More...
 
int getAttribute (const char *attr_name)
 Returns attribute value. More...
 
void deleteAttribute (const std::string &attr_name)
 Delete an attribute. More...
 
void setSceneFile (const std::string &sceneFileName)
 Set the name of the file this component was in (and possibly will be saved to). More...
 
const std::string & getSceneFile () const
 Get the name of the file this component was in. More...
 
virtual void preInitialize (void)
 OBSOLETE METHOD, kept for backwards compatibility. More...
 
virtual void postInitialize (void)
 OBSOLETE METHOD, kept for backwards compatibility. More...
 
virtual bool loadXMLParameters (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *)
 OBSOLETE METHOD, kept for backwards compatibility. More...
 
virtual bool loadXMLParameters (const char *xmlString)
 OBSOLETE METHOD, kept for backwards compatibility. More...
 
InputPinBasegetInputPin (const char *strName)
 Returns pointer to an input pin with specified name. More...
 
OutputPinBasegetOutputPin (const char *strName)
 Returns pointer to an output pin with specified name. More...
 
RequestInputPinBasegetRequestInputPin (const char *strName)
 Returns pointer to an request input pin with specified name. More...
 
RequestOutputPinBasegetRequestOutputPin (const char *strName)
 Returns pointer to an input pin with specified name. More...
 

Protected Member Functions

osgText::Text * GUI_Item::createLabel ()
 
bool initialize (bool pointable=true, int sensor=-1)
 basic initialization - common for all GUI Item types More...
 
- Protected Member Functions inherited from vrecko::Ability
 Ability (const char *theAbilityName)
 
- Protected Member Functions inherited from vrecko::BaseClass
bool sendNotifications (unsigned long notificationType, void *notificationData)
 
virtual int processNotification (BaseClass *sender, unsigned long notificationType, void *notificationData)
 Process an incoming notification. More...
 
IOPinBasefindPinInList (const char *strName, PinList *pinList)
 Internal method to find a given pin in a given list. More...
 

Protected Attributes

string _name
 Identification of this GUI item. More...
 
string _receiver
 name of target object or ability More...
 
GUI_ITEM_STATE _state
 state of item - default, active, disabled, ... More...
 
GUI_Controller_controller
 pointer to GUI controller More...
 
osg::Group * _texts
 
osg::ref_ptr< GUI_Text_label
 Label - just a static label of Item. More...
 
osg::ref_ptr< GUI_Text_toolTip
 Tooltip - appears, when user hover with pointer over item for some time. Controller controls showing and hiding of tooltip. More...
 
EnvironmentObject_parent
 Pointer to parent object. More...
 
int _sensorNumber
 index of input device, that currently pressed GUI item More...
 
osg::ref_ptr
< osg::MatrixTransform > 
_itemTransform
 transformation node of GUI item - mainly for setting position of GUI Item relatively to the parent Environment Object More...
 
int _pointedCounter
 How many sensors is pointing to this GUI Item. More...
 
bool _pressed
 True, when user holds GUI-interaction button pressed, pointing on this GUI item. More...
 
bool _defaultStateActive
 flag, if this item should be in 'active' state after startup / reset More...
 
osg::Vec4 _colourActive
 
osg::Vec4 _colourDefault
 
osg::Vec4 _colourHovered
 
osg::Vec4 _colourPressed
 
osg::Vec4 _colourDisabled
 
std::vector< Interconnection * > _interconnections
 list of all created interconnections, More...
 
- Protected Attributes inherited from vrecko::Ability
BaseClasspOwner
 Pointer to the owner of this ability. (Almost?) always an EnvironmentObject class. More...
 
std::vector< std::string > parameterString
 
bool updated
 Update flag. It is used for save. More...
 
- Protected Attributes inherited from vrecko::BaseClass
AttributeMap attribute
 
MTReadWriteLock attributeLock
 
std::string senderString
 
MTLock notificationsLock
 
std::vector
< NOTIFICATION_DESCRIPTION
notifications
 
long int priority
 
const std::string * sceneFile
 
PinList inputPinsList
 
PinList outputPinsList
 
PinList requestInputPinsList
 
PinList requestOutputPinsList
 

Additional Inherited Members

- Public Types inherited from vrecko::Ability
typedef std::vector
< ParameterStruct
ParameterVector
 Vector of the description of parameters. More...
 
- Protected Types inherited from vrecko::BaseClass
typedef std::map< std::string,
int > 
AttributeMap
 Attributes. More...
 
typedef std::vector
< osg::ref_ptr< IOPinBase > > 
PinList
 

Detailed Description

VRECKO GUI Item class.

Pure virtual class, serve as base for all types of elements of GUI like Icon, Slider, menu,...

Ability can be added as child of EO or world. Ability constructs its own geometry, so parent object can be empty. When ability is removed (e.g. via GUI controller) its removes its geometry from scene graph.

Author
Jiri Chmelik
Date
2011

Constructor & Destructor Documentation

APGUI::GUI_Item::GUI_Item ( const char *  abName)
APGUI::GUI_Item::~GUI_Item ( )

Member Function Documentation

string APGUI::GUI_Item::getGUIItemName ( )
inline
osgText::Text* APGUI::GUI_Item::GUI_Item::createLabel ( )
protected
void APGUI::GUI_Item::hide ( )
inline
void APGUI::GUI_Item::hideTooltip ( )
bool APGUI::GUI_Item::initialize ( bool  pointable = true,
int  sensor = -1 
)
protected

basic initialization - common for all GUI Item types

bool APGUI::GUI_Item::isDefaultStateActive ( )
inline

returns if initial state of this item is active (false in most cases)

virtual void APGUI::GUI_Item::pointed ( bool  pointed)
pure virtual

Called when user point with cursor (hand, usually) to this GUI element.

When pointed, GUI item can change its geometry (e.g. change color, switch to different model) as visual feedback to user

Parameters
pointedis true when user points on this item and false when user "unpoint" it.

Implemented in APGUI::Icon, APGUI::Slider, APGUI::Menu, and APGUI::ColorPicker.

virtual bool APGUI::GUI_Item::processAction ( const int  sensorNumber,
const APGUI::GUI_ACTION  action,
const bool  pressed 
)
pure virtual

Called when user presses defined button.

Parameters
sensorNumberwhich sensor is pressing the button
actiontype of action (main, context, ...) \ param pressed - true if button/key was pressed, false if it was released
Returns
continue processing of action with other parts of vrecko? (see chain of responsibility in Input Connector)

Implemented in APGUI::Icon, APGUI::Slider, APGUI::Menu, APGUI::IconColour, and APGUI::ColorPicker.

void APGUI::GUI_Item::setColours ( osg::Vec4  colourActive,
osg::Vec4  colourDefault,
osg::Vec4  colourHovered,
osg::Vec4  colourPressed,
osg::Vec4  colourDisabled 
)
virtual

Called, when visual models have to be switched (user pointed or clicked on some GUI item)

Reimplemented in APGUI::Slider.

virtual void APGUI::GUI_Item::setState ( GUI_ITEM_STATE  newState)
pure virtual

Set new state of item.

Implemented in APGUI::Icon, APGUI::Slider, APGUI::Menu, and APGUI::ColorPicker.

void APGUI::GUI_Item::show ( )
inline
void APGUI::GUI_Item::showTooltip ( )

Member Data Documentation

osg::Vec4 APGUI::GUI_Item::_colourActive
protected
osg::Vec4 APGUI::GUI_Item::_colourDefault
protected
osg::Vec4 APGUI::GUI_Item::_colourDisabled
protected
osg::Vec4 APGUI::GUI_Item::_colourHovered
protected
osg::Vec4 APGUI::GUI_Item::_colourPressed
protected
GUI_Controller* APGUI::GUI_Item::_controller
protected

pointer to GUI controller

bool APGUI::GUI_Item::_defaultStateActive
protected

flag, if this item should be in 'active' state after startup / reset

std::vector<Interconnection *> APGUI::GUI_Item::_interconnections
protected

list of all created interconnections,

osg::ref_ptr<osg::MatrixTransform> APGUI::GUI_Item::_itemTransform
protected

transformation node of GUI item - mainly for setting position of GUI Item relatively to the parent Environment Object

osg::ref_ptr<GUI_Text> APGUI::GUI_Item::_label
protected

Label - just a static label of Item.

string APGUI::GUI_Item::_name
protected

Identification of this GUI item.

should be unique for each item in GUI

EnvironmentObject* APGUI::GUI_Item::_parent
protected

Pointer to parent object.

int APGUI::GUI_Item::_pointedCounter
protected

How many sensors is pointing to this GUI Item.

bool APGUI::GUI_Item::_pressed
protected

True, when user holds GUI-interaction button pressed, pointing on this GUI item.

string APGUI::GUI_Item::_receiver
protected

name of target object or ability

int APGUI::GUI_Item::_sensorNumber
protected

index of input device, that currently pressed GUI item

GUI_ITEM_STATE APGUI::GUI_Item::_state
protected

state of item - default, active, disabled, ...

osg::Group* APGUI::GUI_Item::_texts
protected
osg::ref_ptr<GUI_Text> APGUI::GUI_Item::_toolTip
protected

Tooltip - appears, when user hover with pointer over item for some time. Controller controls showing and hiding of tooltip.


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