Irrlicht 3D Engine
irr::gui::IGUIContextMenu Class Referenceabstract

GUI Context menu interface. More...

#include <IGUIContextMenu.h>

+ Inheritance diagram for irr::gui::IGUIContextMenu:

Public Member Functions

 IGUIContextMenu (IGUIEnvironment *environment, IGUIElement *parent, s32 id, core::rect< s32 > rectangle)
 constructor More...
 
virtual u32 addItem (const wchar_t *text, s32 commandId=-1, bool enabled=true, bool hasSubMenu=false, bool checked=false, bool autoChecking=false)=0
 Adds a menu item. More...
 
virtual void addSeparator ()=0
 Adds a separator item to the menu. More...
 
virtual s32 findItemWithCommandId (s32 commandId, u32 idxStartSearch=0) const =0
 Find an item by its CommandID. More...
 
virtual ECONTEXT_MENU_CLOSE getCloseHandling () const =0
 get current behavior when the menu will be closed More...
 
virtual bool getItemAutoChecking (u32 idx) const =0
 does the element change the checked status on clicking More...
 
virtual s32 getItemCommandId (u32 idx) const =0
 Get the command id of a menu item. More...
 
virtual u32 getItemCount () const =0
 Get amount of menu items. More...
 
virtual const wchar_t * getItemText (u32 idx) const =0
 Get text of the menu item. More...
 
virtual s32 getSelectedItem () const =0
 Get the selected item in the menu. More...
 
virtual IGUIContextMenugetSubMenu (u32 idx) const =0
 Get a pointer to the submenu of an item. More...
 
virtual u32 insertItem (u32 idx, const wchar_t *text, s32 commandId=-1, bool enabled=true, bool hasSubMenu=false, bool checked=false, bool autoChecking=false)=0
 Insert a menu item at specified position. More...
 
virtual bool isItemChecked (u32 idx) const =0
 Check if a menu item is checked. More...
 
virtual bool isItemEnabled (u32 idx) const =0
 Check if a menu item is enabled. More...
 
virtual void removeAllItems ()=0
 Removes all menu items. More...
 
virtual void removeItem (u32 idx)=0
 Removes a menu item. More...
 
virtual void setCloseHandling (ECONTEXT_MENU_CLOSE onClose)=0
 set behavior when menus are closed More...
 
virtual void setEventParent (IGUIElement *parent)=0
 When an eventparent is set it receives events instead of the usual parent element. More...
 
virtual void setItemAutoChecking (u32 idx, bool autoChecking)=0
 should the element change the checked status on clicking More...
 
virtual void setItemChecked (u32 idx, bool enabled)=0
 Sets if the menu item should be checked. More...
 
virtual void setItemCommandId (u32 idx, s32 id)=0
 Sets the command id of a menu item. More...
 
virtual void setItemEnabled (u32 idx, bool enabled)=0
 Sets if the menu item should be enabled. More...
 
virtual void setItemText (u32 idx, const wchar_t *text)=0
 Sets text of the menu item. More...
 
- Public Member Functions inherited from irr::gui::IGUIElement
 IGUIElement (EGUI_ELEMENT_TYPE type, IGUIEnvironment *environment, IGUIElement *parent, s32 id, const core::rect< s32 > &rectangle)
 Constructor. More...
 
virtual ~IGUIElement ()
 Destructor. More...
 
virtual void addChild (IGUIElement *child)
 Adds a GUI element as new child of this element. More...
 
virtual bool bringToFront (IGUIElement *element)
 Brings a child to front. More...
 
virtual void deserializeAttributes (io::IAttributes *in, io::SAttributeReadWriteOptions *options=0)
 Reads attributes of the scene node. More...
 
virtual void draw ()
 Draws the element and its children. More...
 
core::rect< s32getAbsoluteClippingRect () const
 Returns the visible area of the element. More...
 
core::rect< s32getAbsolutePosition () const
 Gets the absolute rectangle of this element. More...
 
virtual const core::list< IGUIElement * > & getChildren () const
 Returns list with children of this element. More...
 
virtual IGUIElementgetElementFromId (s32 id, bool searchchildren=false) const
 Finds the first element with the given id. More...
 
virtual IGUIElementgetElementFromPoint (const core::position2d< s32 > &point)
 Returns the topmost GUI element at the specific position. More...
 
virtual s32 getID () const
 Returns id. Can be used to identify the element. More...
 
virtual const c8getName () const
 Returns the name of the element. More...
 
bool getNextElement (s32 startOrder, bool reverse, bool group, IGUIElement *&first, IGUIElement *&closest, bool includeInvisible=false, bool includeDisabled=false) const
 searches elements to find the closest next element to tab to More...
 
IGUIElementgetParent () const
 Returns parent of this element. More...
 
core::rect< s32getRelativePosition () const
 Returns the relative rectangle of this element. More...
 
IGUIElementgetTabGroup ()
 Returns the container element which holds all elements in this element's tab group. More...
 
s32 getTabOrder () const
 Returns the number in the tab order sequence. More...
 
virtual const wchar_t * getText () const
 Returns caption of this element. More...
 
virtual const core::stringwgetToolTipText () const
 Returns caption of this element. More...
 
EGUI_ELEMENT_TYPE getType () const
 Returns the type of the gui element. More...
 
virtual const c8getTypeName () const
 Returns the type name of the gui element. More...
 
virtual bool hasType (EGUI_ELEMENT_TYPE type) const
 Returns true if the gui element supports the given type. More...
 
virtual bool isEnabled () const
 Returns true if element is enabled. More...
 
bool isMyChild (IGUIElement *child) const
 
bool isNotClipped () const
 Gets whether the element will ignore its parent's clipping rectangle. More...
 
virtual bool isPointInside (const core::position2d< s32 > &point) const
 Returns true if a point is within this element. More...
 
virtual bool isSubElement () const
 Returns true if this element was created as part of its parent control. More...
 
bool isTabGroup () const
 Returns true if this element is a tab group. More...
 
bool isTabStop () const
 Returns true if this element can be focused by navigating with the tab key. More...
 
virtual bool isTrulyVisible () const
 Check whether the element is truly visible, taking into accounts its parents' visibility. More...
 
virtual bool isVisible () const
 Returns true if element is visible. More...
 
virtual void move (core::position2d< s32 > absoluteMovement)
 Moves this element. More...
 
virtual bool OnEvent (const SEvent &event)
 Called if an event happened. More...
 
virtual void OnPostRender (u32 timeMs)
 animate the element and its children. More...
 
virtual void remove ()
 Removes this element from its parent. More...
 
virtual void removeChild (IGUIElement *child)
 Removes a child. More...
 
virtual bool sendToBack (IGUIElement *child)
 Moves a child to the back, so it's siblings are drawn on top of it. More...
 
virtual void serializeAttributes (io::IAttributes *out, io::SAttributeReadWriteOptions *options=0) const
 Writes attributes of the scene node. More...
 
void setAlignment (EGUI_ALIGNMENT left, EGUI_ALIGNMENT right, EGUI_ALIGNMENT top, EGUI_ALIGNMENT bottom)
 The alignment defines how the borders of this element will be positioned when the parent element is resized. More...
 
virtual void setEnabled (bool enabled)
 Sets the enabled state of this element. More...
 
virtual void setID (s32 id)
 Sets the id of this element. More...
 
void setMaxSize (core::dimension2du size)
 Sets the maximum size allowed for this element. More...
 
void setMinSize (core::dimension2du size)
 Sets the minimum size allowed for this element. More...
 
virtual void setName (const c8 *name)
 Sets the name of the element. More...
 
virtual void setName (const core::stringc &name)
 Sets the name of the element. More...
 
void setNotClipped (bool noClip)
 Sets whether the element will ignore its parent's clipping rectangle. More...
 
void setRelativePosition (const core::rect< s32 > &r)
 Sets the relative rectangle of this element. More...
 
void setRelativePosition (const core::position2di &position)
 Sets the relative rectangle of this element, maintaining its current width and height. More...
 
void setRelativePositionProportional (const core::rect< f32 > &r)
 Sets the relative rectangle of this element as a proportion of its parent's area. More...
 
virtual void setSubElement (bool subElement)
 Sets whether this control was created as part of its parent. More...
 
void setTabGroup (bool isGroup)
 Sets whether this element is a container for a group of elements which can be navigated using the tab key. More...
 
void setTabOrder (s32 index)
 Sets the priority of focus when using the tab key to navigate between a group of elements. More...
 
void setTabStop (bool enable)
 If set to true, the focus will visit this element when using the tab key to cycle through elements. More...
 
virtual void setText (const wchar_t *text)
 Sets the new caption of this element. More...
 
virtual void setToolTipText (const wchar_t *text)
 Sets the new caption of this element. More...
 
virtual void setVisible (bool visible)
 Sets the visible state of this element. More...
 
virtual void updateAbsolutePosition ()
 Updates the absolute position. More...
 
- Public Member Functions inherited from irr::IReferenceCounted
 IReferenceCounted ()
 Constructor. More...
 
virtual ~IReferenceCounted ()
 Destructor. More...
 
bool drop () const
 Drops the object. Decrements the reference counter by one. More...
 
const c8getDebugName () const
 Returns the debug name of the object. More...
 
s32 getReferenceCount () const
 Get the reference count. More...
 
void grab () const
 Grabs the object. Increments the reference counter by one. More...
 
- Public Member Functions inherited from irr::IEventReceiver
virtual ~IEventReceiver ()
 Destructor. More...
 

Additional Inherited Members

- Protected Member Functions inherited from irr::gui::IGUIElement
void addChildToEnd (IGUIElement *child)
 
void recalculateAbsolutePosition (bool recursive)
 
- Protected Member Functions inherited from irr::IReferenceCounted
void setDebugName (const c8 *newName)
 Sets the debug name of the object. More...
 
- Protected Attributes inherited from irr::gui::IGUIElement
core::rect< s32AbsoluteClippingRect
 absolute clipping rect of element More...
 
core::rect< s32AbsoluteRect
 absolute rect of element More...
 
EGUI_ALIGNMENT AlignBottom
 
EGUI_ALIGNMENT AlignLeft
 tells the element how to act when its parent is resized More...
 
EGUI_ALIGNMENT AlignRight
 
EGUI_ALIGNMENT AlignTop
 
core::list< IGUIElement * > Children
 List of all children of this element. More...
 
core::rect< s32DesiredRect
 
IGUIEnvironmentEnvironment
 GUI Environment. More...
 
s32 ID
 users can set this for identifying the element by integer More...
 
bool IsEnabled
 is enabled? More...
 
bool IsSubElement
 is a part of a larger whole and should not be serialized? More...
 
bool IsTabGroup
 tab groups are containers like windows, use ctrl+tab to navigate More...
 
bool IsTabStop
 tab stop like in windows More...
 
bool IsVisible
 is visible? More...
 
core::rect< s32LastParentRect
 for calculating the difference when resizing parent More...
 
core::dimension2du MaxSize
 maximum and minimum size of the element More...
 
core::dimension2du MinSize
 
core::stringc Name
 users can set this for identifying the element by string More...
 
bool NoClip
 does this element ignore its parent's clipping rectangle? More...
 
IGUIElementParent
 Pointer to the parent. More...
 
core::rect< s32RelativeRect
 relative rect of element More...
 
core::rect< f32ScaleRect
 relative scale of the element inside its parent More...
 
s32 TabOrder
 tab order More...
 
core::stringw Text
 caption More...
 
core::stringw ToolTipText
 tooltip More...
 
EGUI_ELEMENT_TYPE Type
 type of element More...
 

Detailed Description

GUI Context menu interface.

This element can create the following events of type EGUI_EVENT_TYPE:
  • EGET_ELEMENT_CLOSED
  • EGET_MENU_ITEM_SELECTED

Definition at line 35 of file IGUIContextMenu.h.

Constructor & Destructor Documentation

◆ IGUIContextMenu()

irr::gui::IGUIContextMenu::IGUIContextMenu ( IGUIEnvironment environment,
IGUIElement parent,
s32  id,
core::rect< s32 rectangle 
)
inline

constructor

Definition at line 40 of file IGUIContextMenu.h.

Member Function Documentation

◆ addItem()

virtual u32 irr::gui::IGUIContextMenu::addItem ( const wchar_t *  text,
s32  commandId = -1,
bool  enabled = true,
bool  hasSubMenu = false,
bool  checked = false,
bool  autoChecking = false 
)
pure virtual

Adds a menu item.

Parameters
textText of menu item. Set this to 0 to create an separator instead of a real item, which is the same like calling addSeparator();
commandIdCommand id of menu item, a simple id you may set to whatever you want.
enabledSpecifies if the menu item should be enabled.
hasSubMenuSet this to true if there should be a submenu at this item. You can access this submenu via getSubMenu().
checkedSpecifies if the menu item should be initially checked.
autoCheckingSpecifies if the item should be checked by clicking
Returns
Returns the index of the new item

◆ addSeparator()

virtual void irr::gui::IGUIContextMenu::addSeparator ( )
pure virtual

Adds a separator item to the menu.

◆ findItemWithCommandId()

virtual s32 irr::gui::IGUIContextMenu::findItemWithCommandId ( s32  commandId,
u32  idxStartSearch = 0 
) const
pure virtual

Find an item by its CommandID.

Parameters
commandIdWe are looking for the first item which has this commandID
idxStartSearchStart searching from this index.
Returns
Returns the index of the item when found or otherwise -1.

◆ getCloseHandling()

virtual ECONTEXT_MENU_CLOSE irr::gui::IGUIContextMenu::getCloseHandling ( ) const
pure virtual

get current behavior when the menu will be closed

◆ getItemAutoChecking()

virtual bool irr::gui::IGUIContextMenu::getItemAutoChecking ( u32  idx) const
pure virtual

does the element change the checked status on clicking

◆ getItemCommandId()

virtual s32 irr::gui::IGUIContextMenu::getItemCommandId ( u32  idx) const
pure virtual

Get the command id of a menu item.

Parameters
idxZero based index of the menu item

◆ getItemCount()

virtual u32 irr::gui::IGUIContextMenu::getItemCount ( ) const
pure virtual

Get amount of menu items.

◆ getItemText()

virtual const wchar_t* irr::gui::IGUIContextMenu::getItemText ( u32  idx) const
pure virtual

Get text of the menu item.

Parameters
idxZero based index of the menu item

◆ getSelectedItem()

virtual s32 irr::gui::IGUIContextMenu::getSelectedItem ( ) const
pure virtual

Get the selected item in the menu.

Returns
Index of the selected item, -1 if none selected.

◆ getSubMenu()

virtual IGUIContextMenu* irr::gui::IGUIContextMenu::getSubMenu ( u32  idx) const
pure virtual

Get a pointer to the submenu of an item.

0 is returned if there is no submenu

Parameters
idxZero based index of the menu item
Returns
Returns a pointer to the submenu of an item.

◆ insertItem()

virtual u32 irr::gui::IGUIContextMenu::insertItem ( u32  idx,
const wchar_t *  text,
s32  commandId = -1,
bool  enabled = true,
bool  hasSubMenu = false,
bool  checked = false,
bool  autoChecking = false 
)
pure virtual

Insert a menu item at specified position.

Parameters
idxPosition to insert the new element, should be smaller than itemcount otherwise the item is added to the end.
textText of menu item. Set this to 0 to create an separator instead of a real item, which is the same like calling addSeparator();
commandIdCommand id of menu item, a simple id you may set to whatever you want.
enabledSpecifies if the menu item should be enabled.
hasSubMenuSet this to true if there should be a submenu at this item. You can access this submenu via getSubMenu().
checkedSpecifies if the menu item should be initially checked.
autoCheckingSpecifies if the item should be checked by clicking
Returns
Returns the index of the new item

◆ isItemChecked()

virtual bool irr::gui::IGUIContextMenu::isItemChecked ( u32  idx) const
pure virtual

Check if a menu item is checked.

Parameters
idxZero based index of the menu item

◆ isItemEnabled()

virtual bool irr::gui::IGUIContextMenu::isItemEnabled ( u32  idx) const
pure virtual

Check if a menu item is enabled.

Parameters
idxZero based index of the menu item

◆ removeAllItems()

virtual void irr::gui::IGUIContextMenu::removeAllItems ( )
pure virtual

Removes all menu items.

◆ removeItem()

virtual void irr::gui::IGUIContextMenu::removeItem ( u32  idx)
pure virtual

Removes a menu item.

Parameters
idxZero based index of the menu item

◆ setCloseHandling()

virtual void irr::gui::IGUIContextMenu::setCloseHandling ( ECONTEXT_MENU_CLOSE  onClose)
pure virtual

set behavior when menus are closed

◆ setEventParent()

virtual void irr::gui::IGUIContextMenu::setEventParent ( IGUIElement parent)
pure virtual

When an eventparent is set it receives events instead of the usual parent element.

◆ setItemAutoChecking()

virtual void irr::gui::IGUIContextMenu::setItemAutoChecking ( u32  idx,
bool  autoChecking 
)
pure virtual

should the element change the checked status on clicking

◆ setItemChecked()

virtual void irr::gui::IGUIContextMenu::setItemChecked ( u32  idx,
bool  enabled 
)
pure virtual

Sets if the menu item should be checked.

Parameters
idxZero based index of the menu item
enabledTrue if it is enabled, otherwise false.

◆ setItemCommandId()

virtual void irr::gui::IGUIContextMenu::setItemCommandId ( u32  idx,
s32  id 
)
pure virtual

Sets the command id of a menu item.

Parameters
idxZero based index of the menu item
idCommand id of menu item, a simple id you may set to whatever you want.

◆ setItemEnabled()

virtual void irr::gui::IGUIContextMenu::setItemEnabled ( u32  idx,
bool  enabled 
)
pure virtual

Sets if the menu item should be enabled.

Parameters
idxZero based index of the menu item
enabledTrue if it is enabled, otherwise false.

◆ setItemText()

virtual void irr::gui::IGUIContextMenu::setItemText ( u32  idx,
const wchar_t *  text 
)
pure virtual

Sets text of the menu item.

Parameters
idxZero based index of the menu item
textNew text of the item.

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