MezzanineEngine 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
Mezzanine::UI::MenuEntry Class Reference

This class is an entry for a single window/widget in a menu. More...

#include <menuentry.h>

+ Inheritance diagram for Mezzanine::UI::MenuEntry:
+ Collaboration diagram for Mezzanine::UI::MenuEntry:

Public Types

enum  ButtonConfig { BC_Error = 0, BC_PushButton = 1, BC_PopButton = 2, BC_ToggleButton = 3 }
 An enum describing how the MenuButton for this MenuEntry is configured and being used. More...
 
typedef
MenuEntryContainer::const_iterator 
ConstMenuEntryIterator
 Const Iterator type for child MenuEntry instances stored by this class.
 
typedef std::vector< MenuEntry * > MenuEntryContainer
 Basic container type for child MenuEntry storage by this class.
 
typedef
MenuEntryContainer::iterator 
MenuEntryIterator
 Iterator type for child MenuEntry instances stored by this class.
 

Public Member Functions

MenuEntryContainer_GetMenuStack () const
 Gets the MenuStack this Entry belongs to. More...
 
virtual Boolean _HasAvailableRenderData () const
 Checks if there are available render data from this QuadRenderable (or it's subrenderables). More...
 
virtual void _NotifyEvent (const EventArguments &Args)
 Notifies this subscriber of an event being fired. More...
 
virtual void _NotifyParenthood (QuadRenderable *NewParent)
 Notifies this QuadRenderable that it has been added to another QuadRenderable. More...
 
virtual void _NotifyStack (MenuEntryContainer *NewStack)
 Notifies this MenuEntry and all if it's Entry children a new MenuStack is being applied to the menu tree. More...
 
virtual Boolean GetAutoHide () const
 Gets wether or not this window is set to auto hide when another window is added to the menu stack. More...
 
virtual ButtonConfig GetButtonConfig (const MenuButton *EntryButton) const
 Gets the role of the specified MenuButton for this MenuEntry. More...
 
virtual MenuButtonGetPopButton () const
 Gets a pointer to the button that will remove this entry from the menu stack. More...
 
virtual MenuButtonGetPushButton () const
 Gets a pointer to the button that will add this entry to the menu stack. More...
 
virtual void Hide ()
 Forces this renderable to hide. More...
 
virtual Boolean IsRootEntry () const
 Gets whether or not this is the Root of the MenuEntry hierarchy. More...
 
virtual void ProtoDeSerializeProperties (const XML::Node &SelfRoot)
 Take the data stored in an XML Node and overwrite the properties of this object with it. More...
 
virtual void ProtoSerializeProperties (XML::Node &SelfRoot) const
 Convert the properties of this class to an XML::Node ready for serialization. More...
 
virtual Whole RollBackToEntry (MenuEntry *RollBackTo)
 Finds a MenuEntry in the menu stack and hides all Entries above it in the menu stack. More...
 
virtual void SetAutoHide (Boolean AutoHide)
 Sets whether or not thie window should auto hide when another window is added to the menu stack. More...
 
virtual void SetPopButton (MenuButton *Pop)
 Sets the button that will pop(remove) this entry from the menu stack, hiding it. More...
 
virtual void SetPushButton (MenuButton *Push)
 Sets the button that will push(add) this entry on the menu stack, making it visible. More...
 
virtual void SetToggleButton (MenuButton *Toggle)
 Sets the button that will both push(add) and pop(remove) the entry from the menu stack, based on the current state of the entry. More...
 
virtual void SetVisible (Boolean CanSee)
 
virtual void Show ()
 Forces this renderable to be shown. More...
 
- Public Member Functions inherited from Mezzanine::UI::StackedContainer
 StackedContainer (Screen *Parent)
 Blank constructor. More...
 
 StackedContainer (const String &RendName, Screen *Parent)
 Standard initialization constructor. More...
 
 StackedContainer (const String &RendName, const UnifiedRect &RendRect, Screen *Parent)
 Rect constructor. More...
 
virtual ~StackedContainer ()
 Class destructor.
 
- Public Member Functions inherited from Mezzanine::UI::Widget
virtual bool _HandleInput (const Input::MetaCode &Code)
 Handles input passed to this widget. More...
 
virtual void _OnFocusGained ()
 Self logic to be executed when focus is given to this widget. More...
 
virtual void _OnFocusLocked ()
 Self logic to be executed when focus is locked to this widget. More...
 
virtual void _OnFocusLost ()
 Self logic to be executed when focus is removed from this widget. More...
 
virtual void _OnFocusUnlocked ()
 Self logic to be executed when focus is no longer locked to this widget. More...
 
virtual void _OnMouseDragEnd ()
 Self logic to be executed when the mouse cursor stops dragging across the bounds of this widget. More...
 
virtual void _OnMouseDragging ()
 Self logic to be executed when the mouse cursor is dragging across the bounds of this widget. More...
 
virtual void _OnMouseDragStart ()
 Self logic to be executed when the mouse cursor starts dragging across the bounds of this widget. More...
 
virtual void _OnMouseEnter ()
 Self logic to be executed when the mouse cursor enters the bounds of this widget. More...
 
virtual void _OnMouseExit ()
 Self logic to be executed when the mouse cursor leaves the bounds of thiw widget. More...
 
virtual void _OnVisibilityHidden ()
 Self logic to be executed when this widget becomes invisible.
 
virtual void _OnVisibilityShown ()
 Self logic to be executed when this widget becomes visible.
 
virtual void BindGroupToState (const UInt32 BindState, RenderLayerGroup *ToBind)
 Binds a RenderLayerGroup to a WidgetState. More...
 
WidgetGetBottomMostHoveredWidget ()
 Gets a pointer to the Widget at the bottom of the hovered SubWidget chain. More...
 
virtual String GetDerivedSerializableName () const
 Gets the most derived serializable name of this Renderable. More...
 
virtual RenderLayerGroupGetGroupBoundToState (const UInt32 BindState) const
 Gets the current RenderLayerGroup bound to a specified WidgetState. More...
 
WidgetGetHoveredSubWidget () const
 Gets the hovered sub-widget within this widget, if any. More...
 
RenderableType GetRenderableType () const
 Gets the type of renderable this is. More...
 
virtual const StringGetTypeName () const
 Gets the type of widget this is. More...
 
virtual Boolean GetVisible () const
 Gets the visibility setting of this renderable. More...
 
virtual Boolean HasFocus () const
 Gets whether or not this widget currently has focus. More...
 
virtual Boolean IsBeingDragged () const
 Gets whether or not this widget is being dragged. More...
 
virtual Boolean IsHovered () const
 Gets the result of the last mouse hover check. More...
 
virtual Boolean IsVisible () const
 Gets whether or not this renderable is being drawn. More...
 
virtual void ProtoDeSerializeEvents (const XML::Node &SelfRoot)
 Take the data stored in an XML Node and overwrite the Events of this object with it. More...
 
virtual void ProtoDeSerializeStateGroupBindings (const XML::Node &SelfRoot)
 Take the data stored in an XML Node and overwrite the state-group bindings of this object with it. More...
 
virtual void ProtoSerializeEvents (XML::Node &SelfRoot) const
 Convert the Events of this class to an XML::Node ready for serialization. More...
 
virtual void ProtoSerializeStateGroupBindings (XML::Node &SelfRoot) const
 Convert the state-group bindings of this class to an XML::Node ready for serialization. More...
 
virtual bool SetGroupFromState (const UInt32 BindState)
 Sets the group bound to the specified WidgetState as active. More...
 
- Public Member Functions inherited from Mezzanine::UI::QuadRenderable
virtual void _AppendRenderData (ScreenRenderData &RenderData)
 Appends the vertices of this renderable to another vector. More...
 
virtual void _AppendRenderDataCascading (ScreenRenderData &RenderData)
 Appends the vertices of this renderable to another vector, and then does the same for this renderable's children. More...
 
virtual void _MarkAllChildrenDirty ()
 Tells this QuadRenderable to mark each of it's children (and their children) as dirty. More...
 
virtual void _MarkAllLayersDirty ()
 Tells this QuadRenderable that all of it's layers are dirty. More...
 
virtual void _MarkDirty ()
 Marks this renderable as dirty, and informs other renderables if needed. More...
 
virtual void _SetZOrder (const UInt16 &Zorder)
 Ssts the ZOrder value for this renderable. More...
 
virtual void AddChild (Widget *Child)
 Adds a Widget to this as a child of this quad. More...
 
virtual void AddChild (Widget *Child, const UInt16 ZOrder)
 Adds a Widget to this as a child of this quad. More...
 
void AddLayerToGroup (RenderLayer *Layer, const UInt16 ZOrder, const String &GroupName)
 Adds a RenderLayer to the specified group. More...
 
void AddLayerToGroups (RenderLayer *Layer, const GroupOrderEntryVector &Entrys)
 Adds a RenderLayer to multiple groups. More...
 
virtual Boolean CheckOverlap (const QuadRenderable *Quad) const
 Checks to see if another Quad is overlapping with this one. More...
 
ChildIterator ChildrenBegin ()
 Gets an iterator to the first child Widget. More...
 
ConstChildIterator ChildrenBegin () const
 Gets a const iterator to the first child Widget. More...
 
ChildIterator ChildrenEnd ()
 Gets an iterator to one passed the last child Widget. More...
 
ConstChildIterator ChildrenEnd () const
 Gets an iterator to one passed the last child Widget. More...
 
ImageLayerCreateImageLayer ()
 Creates an ImageLayer for this renderable. More...
 
ImageLayerCreateImageLayer (const UInt16 ZOrder, const String &GroupName)
 Creates an ImageLayer for this renderable and adds it to a RenderLayerGroup. More...
 
ImageLayerCreateImageLayer (const GroupOrderEntryVector &Entrys)
 Creates an ImageLayer for this renderable and adds it to all the specified RenderLayerGroups at the provided ZOrders. More...
 
MultiLineTextLayerCreateMultiLineTextLayer ()
 Creats a MultiLineTextLayer for this renderable. More...
 
MultiLineTextLayerCreateMultiLineTextLayer (const UInt16 ZOrder, const String &GroupName)
 Creats a MultiLineTextLayer for this renderable. More...
 
MultiLineTextLayerCreateMultiLineTextLayer (const GroupOrderEntryVector &Entrys)
 Creates a MultiLineTextLayer for this renderable and adds it to all the specified RenderLayerGroups at the provided ZOrders. More...
 
MultiLineTextLayerCreateMultiLineTextLayer (const String &FontName)
 Creats a MultiLineTextLayer for this renderable. More...
 
MultiLineTextLayerCreateMultiLineTextLayer (const String &FontName, const UInt16 ZOrder, const String &GroupName)
 Creats a MultiLineTextLayer for this renderable. More...
 
MultiLineTextLayerCreateMultiLineTextLayer (const String &FontName, const GroupOrderEntryVector &Entrys)
 Creates a MultiLineTextLayer for this renderable and adds it to all the specified RenderLayerGroups at the provided ZOrders. More...
 
MultiLineTextLayerCreateMultiLineTextLayer (const Real &LineHeight)
 Creats a MultiLineTextLayer for this renderable. More...
 
MultiLineTextLayerCreateMultiLineTextLayer (const Real &LineHeight, const UInt16 ZOrder, const String &GroupName)
 Creats a MultiLineTextLayer for this renderable. More...
 
MultiLineTextLayerCreateMultiLineTextLayer (const Real &LineHeight, const GroupOrderEntryVector &Entrys)
 Creates a MultiLineTextLayer for this renderable and adds it to all the specified RenderLayerGroups at the provided ZOrders. More...
 
RenderLayerGroupCreateOrRetrieveRenderLayerGroup (const String &Name)
 Gets the named RenderLayerGroup or creates one with the specified name if it does not exist. More...
 
RenderLayerGroupCreateRenderLayerGroup (const String &Name)
 Creates a new RenderLayerGroup that can have.

Exceptions
Thisfunction will throw an exception if a group already exists with the provided name.
More...
 
SingleLineTextLayerCreateSingleLineTextLayer ()
 Creats a SingleLineTextLayer for this renderable. More...
 
SingleLineTextLayerCreateSingleLineTextLayer (const UInt16 ZOrder, const String &GroupName)
 Creats a SingleLineTextLayer for this renderable. More...
 
SingleLineTextLayerCreateSingleLineTextLayer (const GroupOrderEntryVector &Entrys)
 Creates a SingleLineTextLayer for this renderable and adds it to all the specified RenderLayerGroups at the provided ZOrders. More...
 
SingleLineTextLayerCreateSingleLineTextLayer (const String &FontName)
 Creats a SingleLineTextLayer for this renderable. More...
 
SingleLineTextLayerCreateSingleLineTextLayer (const String &FontName, const UInt16 ZOrder, const String &GroupName)
 Creats a SingleLineTextLayer for this renderable. More...
 
SingleLineTextLayerCreateSingleLineTextLayer (const String &FontName, const GroupOrderEntryVector &Entrys)
 Creates a SingleLineTextLayer for this renderable and adds it to all the specified RenderLayerGroups at the provided ZOrders. More...
 
SingleLineTextLayerCreateSingleLineTextLayer (const Real &LineHeight)
 Creats a SingleLineTextLayer for this renderable. More...
 
SingleLineTextLayerCreateSingleLineTextLayer (const Real &LineHeight, const UInt16 ZOrder, const String &GroupName)
 Creats a SingleLineTextLayer for this renderable. More...
 
SingleLineTextLayerCreateSingleLineTextLayer (const Real &LineHeight, const GroupOrderEntryVector &Entrys)
 Creates a SingleLineTextLayer for this renderable and adds it to all the specified RenderLayerGroups at the provided ZOrders. More...
 
void DestroyAllRenderLayerGroups ()
 Destroy's all RenderLayerGroups being stored/managed by this QuadRenderable.
 
void DestroyAllRenderLayers ()
 Destroys all RenderLayers being stored by this renderable.
 
void DestroyRenderLayer (RenderLayer *ToBeDestroyed)
 Destroys a RenderLayer being stored by this renderable. More...
 
void DestroyRenderLayerGroup (const String &Name)
 Destroy's a RenderLayerGroup by name. More...
 
void DestroyRenderLayerGroup (RenderLayerGroup *ToBeDestroyed)
 Destroy's a RenderLayerGroup by pointer. More...
 
RenderLayerGroupGetActiveGroup () const
 Gets the current RenderLayerGroup used for rendering. More...
 
virtual Vector2 GetActualPosition () const
 Gets the pixel position of this widget. More...
 
virtual Vector2 GetActualSize () const
 Gets the pixel size of this widget. More...
 
virtual WidgetGetChild (const UInt16 Zorder) const
 Gets a child by it's ZOrder. More...
 
virtual WidgetGetChild (const String &RendName) const
 Gets a child by it's name. More...
 
virtual UI::SizingRules GetHorizontalSizingRules () const
 Gets the current behavior this quad will follow for the X axis when it is resized. More...
 
virtual Real GetIdealHeightForText () const
 Gets the height needed for this quadrenderable to be able to completely display text in it's child text layers. More...
 
virtual bool GetManualTransformUpdates () const
 Gets whether or not this quad will be automatically updated when parent transforms are updated. More...
 
virtual UnifiedVec2 GetMaxSize () const
 Gets the currently set maximum size for this quad. More...
 
virtual UnifiedVec2 GetMinSize () const
 Gets the currently set minimum size for this quad. More...
 
virtual bool GetMousePassthrough () const
 Gets whether or not Mouse Passthrough is enabled. More...
 
QuadRenderableGetNextSibling (Boolean Wrap=true)
 Gets the QuadRenderable after this one among the QuadRenderables owned by it's parent. More...
 
virtual Whole GetNumChildren () const
 Gets the number of children in this QuadRenderable. More...
 
UInt32 GetNumRenderLayerGroups () const
 Gets the number of RenderLayerGroup's created for this renderable. More...
 
UInt32 GetNumRenderLayers () const
 Gets the number of RenderLayers created for this renderable. More...
 
UInt32 GetNumVisibleRenderLayers () const
 Gets the number of RenderLayers that are visible in this renderable. More...
 
QuadRenderableGetParent () const
 Gets the parent of this quad. More...
 
virtual const PositioningInfoGetPositioningPolicy () const
 Gets the current behavior this QuadRenderable will use when it is positioned. More...
 
virtual UI::PositioningFlags GetPositioningRules () const
 Gets the current behavior this quad will follow when it is positioned automatically. More...
 
QuadRenderableGetPrevSibling (Boolean Wrap=true)
 Gets the QuadRenderable before this one among the QuadRenderables owned by it's parent. More...
 
virtual Rect GetRect () const
 Gets this QuadRenderables' Rect. More...
 
RenderLayerGetRenderLayer (const UInt32 &Index) const
 Gets a RenderLayer belonging to this QuadRenderable by index. More...
 
RenderLayerGroupGetRenderLayerGroup (const String &Name) const
 Gets a RenderLayerGroup by name. More...
 
virtual UI::RenderPriority GetRenderPriority () const
 Gets the priority this QuadRenderable should be rendered with. More...
 
virtual const SizingInfoGetSizingPolicy () const
 Gets the current behavior this QuadRenderable will use when it is sized. More...
 
virtual QuadRenderableGetTopMostQuad ()
 Gets the QuadRenderable that is both an ancestor of this quad, and a direct child of the screen. More...
 
virtual UnifiedVec2 GetUnifiedPosition () const
 Gets the position of this QuadRenderable as a Unified Vector2. More...
 
virtual UnifiedRect GetUnifiedRect () const
 Gets the Unified positiona nd size of this QuadRenderable as a unified rect. More...
 
virtual UnifiedVec2 GetUnifiedSize () const
 Gets the size of this QuadRenderable as a Unified Vector2. More...
 
virtual UI::SizingRules GetVerticalSizingRules () const
 Gets the current behavior this quad will follow for the Y axis when it is resized. More...
 
virtual const UInt16GetZOrder () const
 Gets the currently set ZOrder of this QuadRenderable with it's parent. More...
 
virtual Boolean IsChildOfScreen () const
 Gets whether or not this QuadRenderable is a direct child of it's screen. More...
 
virtual Boolean IsInside (const Vector2 &Point) const
 Checks to see if a point in 2D space is inside this quad. More...
 
Boolean IsVertexCachingEnabled () const
 Gets whether or not vertex caching is enabled for this Quad. More...
 
virtual void ProtoDeSerialize (const XML::Node &SelfRoot)
 Take the data stored in an XML Node and overwrite this object with it. More...
 
virtual void ProtoDeSerializeChildQuads (const XML::Node &SelfRoot)
 Take the data stored in an XML Node and overwrite the ChildQuads of this object with it. More...
 
virtual void ProtoDeSerializeRenderLayerGroups (const XML::Node &SelfRoot)
 Take the data stored in an XML Node and overwrite the RenderLayerGroups of this object with it. More...
 
virtual void ProtoDeSerializeRenderLayers (const XML::Node &SelfRoot)
 Take the data stored in an XML Node and overwrite the RenderLayers of this object with it. More...
 
virtual void ProtoSerialize (XML::Node &ParentNode) const
 Convert this class to an XML::Node ready for serialization. More...
 
virtual void ProtoSerializeChildQuads (XML::Node &SelfRoot) const
 Convert the child quads of this class to an XML::Node ready for serialization. More...
 
virtual void ProtoSerializeRenderLayerGroups (XML::Node &SelfRoot) const
 Convert the RenderLayerGroups of this class to an XML::Node ready for seriailization. More...
 
virtual void ProtoSerializeRenderLayers (XML::Node &SelfRoot) const
 Convert the RenderLayers of this class to an XML::Node ready for serialization. More...
 
ReverseChildIterator RChildrenBegin ()
 Gets an iterator to the last Widget. More...
 
ConstReverseChildIterator RChildrenBegin () const
 Gets a const iterator to the last Widget. More...
 
ReverseChildIterator RChildrenEnd ()
 Gets an iterator to one before the first child Widget. More...
 
ConstReverseChildIterator RChildrenEnd () const
 Gets a const iterator to one before the first child Widget. More...
 
virtual void RemoveAllChildren ()
 Removes all child Widgets from this QuadRenderable.
 
virtual void RemoveChild (Widget *Child)
 Removes a child Widget by pointer. More...
 
void RemoveLayerFromAllGroups (RenderLayer *Layer)
 Removes a single RenderLayer from all RenderLayerGroups owned by this QuadRenderable. More...
 
void RemoveLayerFromGroup (RenderLayer *Layer, const String &GroupName)
 Removes a single RenderLayer from a specified RenderLayerGroup. More...
 
RenderLayerIterator RenderLayerBegin ()
 Gets an iterator to the first RenderLayer. More...
 
ConstRenderLayerIterator RenderLayerBegin () const
 Gets a const iterator to the first RenderLayer. More...
 
RenderLayerIterator RenderLayerEnd ()
 Gets an iterator to one passed the last RenderLayer. More...
 
ConstRenderLayerIterator RenderLayerEnd () const
 Gets an iterator to one passed the last RenderLayer. More...
 
RenderLayerGroupIterator RenderLayerGroupBegin ()
 Gets an iterator to the first RenderLayerGroup. More...
 
ConstRenderLayerGroupIterator RenderLayerGroupBegin () const
 Gets a const iterator to the first RenderLayerGroup. More...
 
RenderLayerGroupIterator RenderLayerGroupEnd ()
 Gets an iterator to one passed the last RenderLayerGroup. More...
 
ConstRenderLayerGroupIterator RenderLayerGroupEnd () const
 Gets an iterator to one passed the last RenderLayerGroup. More...
 
Boolean RenderLayerGroupExists (const String &Name) const
 Checks to see if a RenderLayerGroup exists. More...
 
void SetActiveGroup (const String &Name)
 Sets the RenderLayerGroup that will be used to render this renderable. More...
 
void SetActiveGroup (RenderLayerGroup *Group)
 Sets the RenderLayerGroup that will be used to render this renderable. More...
 
virtual void SetHorizontalSizingRules (const UI::SizingRules Rules)
 Sets the behavior this quad will have on the X axis when it is resized. More...
 
void SetLocalVertexCaching (Boolean Enable)
 Enables or disables caching of vertex's belonging to this and all child renderables. More...
 
virtual void SetManualTransformUpdates (Boolean Enable)
 Sets whether or not this quad has specific behaviors for it's transform updates and they should not be done automatically. More...
 
virtual void SetMaxSize (const UnifiedVec2 &Max)
 Sets the maximum size this quad is allowed to have. More...
 
virtual void SetMinSize (const UnifiedVec2 &Min)
 Sets the minimum size this quad is allowed to have. More...
 
virtual void SetMousePassthrough (Boolean Enable)
 Sets whether or not this quad should be skipped when determining if the mouse is hovered over this quad. More...
 
virtual void SetPositioningPolicy (const PositioningInfo &Policy)
 Sets the behavior to be used when this QuadRenderable is positioned. More...
 
virtual void SetPositioningRules (const UI::PositioningFlags Rules)
 Sets the behavior this quad will have when it is positioned automatically. More...
 
virtual void SetRenderPriority (const UI::RenderPriority RP)
 Sets the priority this QuadRenderable should be rendered with. More...
 
virtual void SetRenderPriorityCascading (const UI::RenderPriority RP)
 Sets the priority this QuadRenderable and all it's children should be rendered with. More...
 
virtual void SetSizingPolicy (const SizingInfo &Policy)
 Sets the behavior to be used when this QuadRenderable is sized. More...
 
virtual void SetUnifiedPosition (const UnifiedVec2 &Position)
 Sets the position this QuadRenderable will have within it's parent. More...
 
virtual void SetUnifiedSize (const UnifiedVec2 &Size)
 Sets the size this QuadRenderable will have within it's parent. More...
 
virtual void SetVerticalSizingRules (const UI::SizingRules Rules)
 Sets the behavior this quad will have on the Y axis when it is resized. More...
 
virtual void UpdateChildDimensions ()
 Updates the dimensions of the children in this QuadRenderable. More...
 
virtual void UpdateDimensions ()
 Updates the dimensions of this QuadRenderable based on the transform of it's parent. More...
 
virtual void UpdateDimensions (const Rect &OldSelfRect, const Rect &NewSelfRect)
 Updates the dimensions of this QuadRenderable based on the transform of it's parent. More...
 
- Public Member Functions inherited from Mezzanine::UI::Renderable
bool _IsDirty () const
 Gets whether or not this renderable is dirty. More...
 
const StringGetName () const
 Gets the name of this renderable. More...
 
ScreenGetScreen () const
 Gets the parent screen of this renderable. More...
 
- Public Member Functions inherited from Mezzanine::EventPublisher
 EventPublisher ()
 Class constructor.
 
virtual ~EventPublisher ()
 Class destructor.
 
EventGetEvent (const String &EventName) const
 Gets an event in this publisher. More...
 
EventGetEventExcept (const String &EventName) const
 Gets an event in this publisher.

Exceptions
Thisversion differs from the non-except version in that if it fails to find the event specified it will throw a "II_IDENTITY_NOT_FOUND_EXCEPTION".
More...
 
EventSubscriberSlotSubscribe (const String &EventName, EventSubscriber *Sub)
 Adds a subscriber to this event. More...
 
EventSubscriberSlotSubscribe (const String &EventName, FunctorSubscriberSlot::FunctorDefinition *Funct, Boolean CleanUpAfter)
 Subscribes a functor object to this event. More...
 
EventSubscriberSlotSubscribe (const String &EventName, CFunctionSubscriberSlot::SubscriberFunction *CFunct)
 Subscribes a C-style function to this event. More...
 
EventSubscriberSlotSubscribe (const String &EventName, Scripting::iScript *SubScript)
 Subscribes a script to this event. More...
 
void Unsubscribe (EventSubscriber *Subscriber)
 Unsubscribes a single subscriber all events in this publisher. More...
 
void Unsubscribe (FunctorSubscriberSlot::FunctorDefinition *Funct)
 Unsubscribes a single subscriber all events in this publisher. More...
 
void Unsubscribe (CFunctionSubscriberSlot::SubscriberFunction *CFunct)
 Unsubscribes a single subscriber from all events in this publisher. More...
 
void Unsubscribe (Scripting::iScript *SubScript)
 Unsubscribes a single subscriber from all events in this publisher. More...
 
void Unsubscribe (EventSubscriberSlot *SubSlot)
 Unsubscribes a single subscriber from all events in this publisher. More...
 
void Unsubscribe (const String &EventName, EventSubscriber *Subscriber)
 Unsubscribes a single subscriber from the named event. More...
 
void Unsubscribe (const String &EventName, FunctorSubscriberSlot::FunctorDefinition *Funct)
 Unsubscribes a single subscriber from the named event. More...
 
void Unsubscribe (const String &EventName, CFunctionSubscriberSlot::SubscriberFunction *CFunct)
 Unsubscribes a single subscriber from the named event. More...
 
void Unsubscribe (const String &EventName, Scripting::iScript *SubScript)
 Unsubscribes a single subscriber from the named event. More...
 
void Unsubscribe (const String &EventName, EventSubscriberSlot *SubSlot)
 Unsubscribes a single subscriber from the named event. More...
 
Whole UnsubscribeAll ()
 Unsubscribes all subscribers from all events in this publisher. More...
 
Whole UnsubscribeAll (const String &EventName)
 Unsubscribes all subscribers from the named Event. More...
 

Static Public Member Functions

static String GetSerializableName ()
 Get the name of the the XML tag the Renderable class will leave behind as its instances are serialized. More...
 
- Static Public Member Functions inherited from Mezzanine::UI::StackedContainer
static String GetSerializableName ()
 Get the name of the the XML tag the Renderable class will leave behind as its instances are serialized. More...
 
- Static Public Member Functions inherited from Mezzanine::UI::Widget
static String GetSerializableName ()
 Get the name of the the XML tag the Renderable class will leave behind as its instances are serialized. More...
 
- Static Public Member Functions inherited from Mezzanine::UI::QuadRenderable
static String GetSerializableName ()
 Get the name of the the XML tag the Renderable class will leave behind as its instances are serialized. More...
 
- Static Public Member Functions inherited from Mezzanine::UI::Renderable
static String GetSerializableName ()
 Get the name of the the XML tag the Renderable class will leave behind as its instances are serialized. More...
 

Static Public Attributes

static const String TypeName = "MenuEntry"
 String containing the type name for this class: "MenuEntry".
 
- Static Public Attributes inherited from Mezzanine::UI::StackedContainer
static const String TypeName = "StackedContainer"
 String containing the type name for this class: "StackedContainer".
 
- Static Public Attributes inherited from Mezzanine::UI::Widget
static const String EventFocusGained = "FocusGained"
 Event name for when this widget gains focus.
 
static const String EventFocusLocked = "FocusLocked"
 Event name for when the system locks focus on this widget.
 
static const String EventFocusLost = "FocusLost"
 Event name for when this widget loses focus.
 
static const String EventFocusUnlocked = "FocusUnlocked"
 Event name fow when the system removes the focus lock from this widget.
 
static const String EventMouseDragEnd = "MouseDragEnd"
 Event name for when the mouse stops dragging this widget.
 
static const String EventMouseDragging = "MouseDragging"
 Event name for when a mouse activation button is pressed, and held while moving.
 
static const String EventMouseDragStart = "MouseDragStart"
 Event name for when the mouse starts dragging this widget.
 
static const String EventMouseEnter = "MouseEnter"
 Event name for when the mouse enters this widget.
 
static const String EventMouseExit = "MouseExit"
 Event name for when the mouse leaves this widget.
 
static const String EventVisibilityHidden = "VisibilityHidden"
 Event name for when this widget is switched from being shown to being hidden.
 
static const String EventVisibilityShown = "VisibilityShown"
 Event name for when this widget is switched from being hidden to being shown.
 
static const String TypeName = "GenericWidget"
 String containing the type name for this class: "GenericWidget".
 

Protected Member Functions

 MenuEntry (Screen *Parent)
 Blank constructor. More...
 
 MenuEntry (const String &RendName, Screen *Parent)
 Standard initialization constructor. More...
 
 MenuEntry (const String &RendName, const UnifiedRect &RendRect, Screen *Parent)
 Rect constructor. More...
 
 MenuEntry (const XML::Node &XMLNode, Screen *Parent)
 XML constructor. More...
 
virtual ~MenuEntry ()
 Class destructor.
 
virtual Boolean PopFromStack ()
 Pops this MenuEntry from the stack if one is available. More...
 
virtual Boolean PushOntoStack ()
 Pushes this MenuEntry onto the stack if one is available. More...
 

Protected Attributes

Boolean AutoHideEntry
 Stores whether or not this Entry will automatically be hidden when another entry is pushed onto the stack after it. More...
 
MenuEntryContainerMenuStack
 A pointer to the active stack of MenuEntries. More...
 
MenuButtonPopButton
 A pointer to the button that will pop this entry from the menu stack. More...
 
MenuButtonPushButton
 A pointer to the button that will push this entry on the menu stack. More...
 

Friends

class MenuEntryFactory
 

Detailed Description

This class is an entry for a single window/widget in a menu.

This class can be used to represent a single window/widget in a heirarchy that will change visibility as one would expect in a game menu.

Definition at line 70 of file menuentry.h.

Member Enumeration Documentation

An enum describing how the MenuButton for this MenuEntry is configured and being used.

Enumerator
BC_Error 

Error condition or queried button isn't bound to this MenuEntry.

BC_PushButton 

Queried button is being used as the entry push button.

BC_PopButton 

Queried button is being used as the entry pop button.

BC_ToggleButton 

Queried button is being used as both the push and pop button, aka toggle button.

Definition at line 82 of file menuentry.h.

Constructor & Destructor Documentation

Mezzanine::UI::MenuEntry::MenuEntry ( Screen Parent)
protected

Blank constructor.

Parameters
ParentThe parent Screen that created this widget.

Definition at line 62 of file menuentry.cpp.

Mezzanine::UI::MenuEntry::MenuEntry ( const String RendName,
Screen Parent 
)
protected

Standard initialization constructor.

Parameters
RendNameThe name to be given to this renderable.
ParentThe parent Screen that created this widget.

Definition at line 70 of file menuentry.cpp.

Mezzanine::UI::MenuEntry::MenuEntry ( const String RendName,
const UnifiedRect RendRect,
Screen Parent 
)
protected

Rect constructor.

Parameters
RendNameThe name to be given to this renderable.
RendRectThe rect describing this widget's transform relative to it's parent.
ParentThe parent screen that created this renderable.

Definition at line 78 of file menuentry.cpp.

Mezzanine::UI::MenuEntry::MenuEntry ( const XML::Node XMLNode,
Screen Parent 
)
protected

XML constructor.

Parameters
XMLNodeThe node of the xml document to construct from.
ParentThe screen the created MenuEntry will belong to.

Definition at line 86 of file menuentry.cpp.

Member Function Documentation

MenuEntry::MenuEntryContainer * Mezzanine::UI::MenuEntry::_GetMenuStack ( ) const

Gets the MenuStack this Entry belongs to.

Returns
Returns a pointer to the MenuEntryContainer being used as the menu stack.

Definition at line 369 of file menuentry.cpp.

Boolean Mezzanine::UI::MenuEntry::_HasAvailableRenderData ( ) const
virtual

Checks if there are available render data from this QuadRenderable (or it's subrenderables).

Reimplemented from Mezzanine::UI::QuadRenderable.

Definition at line 456 of file menuentry.cpp.

void Mezzanine::UI::MenuEntry::_NotifyEvent ( const EventArguments Args)
virtual

Notifies this subscriber of an event being fired.

Reimplemented from Mezzanine::UI::Widget.

Definition at line 385 of file menuentry.cpp.

void Mezzanine::UI::MenuEntry::_NotifyParenthood ( QuadRenderable NewParent)
virtual

Notifies this QuadRenderable that it has been added to another QuadRenderable.

Reimplemented from Mezzanine::UI::QuadRenderable.

Definition at line 432 of file menuentry.cpp.

void Mezzanine::UI::MenuEntry::_NotifyStack ( MenuEntryContainer NewStack)
virtual

Notifies this MenuEntry and all if it's Entry children a new MenuStack is being applied to the menu tree.

Parameters
NewStackthe new stack to be applied. Can be NULL to remove the stack from all children.

Definition at line 374 of file menuentry.cpp.

Boolean Mezzanine::UI::MenuEntry::GetAutoHide ( ) const
virtual

Gets wether or not this window is set to auto hide when another window is added to the menu stack.

Returns
Returns a bool indicating whether or not AutoHide is enabled on this menu window.

Definition at line 217 of file menuentry.cpp.

MenuEntry::ButtonConfig Mezzanine::UI::MenuEntry::GetButtonConfig ( const MenuButton EntryButton) const
virtual

Gets the role of the specified MenuButton for this MenuEntry.

Parameters
EntryButtonThe button to check this MenuEntry for.
Returns
Returns a ButtonConfig enum value representing how the specified MenuButton is being used by this MenuEntry.

Definition at line 143 of file menuentry.cpp.

MenuButton * Mezzanine::UI::MenuEntry::GetPopButton ( ) const
virtual

Gets a pointer to the button that will remove this entry from the menu stack.

Returns
Returns a pointer to the button that will make this entry hide.

Definition at line 258 of file menuentry.cpp.

MenuButton * Mezzanine::UI::MenuEntry::GetPushButton ( ) const
virtual

Gets a pointer to the button that will add this entry to the menu stack.

Returns
Returns a pointer to the button that will make this entry visible.

Definition at line 238 of file menuentry.cpp.

String Mezzanine::UI::MenuEntry::GetSerializableName ( )
static

Get the name of the the XML tag the Renderable class will leave behind as its instances are serialized.

Returns
A string containing the name of this class.

Definition at line 356 of file menuentry.cpp.

void Mezzanine::UI::MenuEntry::Hide ( )
virtual

Forces this renderable to hide.

Reimplemented from Mezzanine::UI::Widget.

Definition at line 206 of file menuentry.cpp.

Boolean Mezzanine::UI::MenuEntry::IsRootEntry ( ) const
virtual

Gets whether or not this is the Root of the MenuEntry hierarchy.

Returns
Returns true if this MenuEntry has no parent entry, false otherwise.

Definition at line 134 of file menuentry.cpp.

Boolean Mezzanine::UI::MenuEntry::PopFromStack ( )
protectedvirtual

Pops this MenuEntry from the stack if one is available.

Returns
Returns true if this MenuEntry was successfully popped from the stack, false otherwise.

Definition at line 119 of file menuentry.cpp.

void Mezzanine::UI::MenuEntry::ProtoDeSerializeProperties ( const XML::Node SelfRoot)
virtual

Take the data stored in an XML Node and overwrite the properties of this object with it.

Parameters
SelfRootAn XML::Node containing the data to populate this class with.

Reimplemented from Mezzanine::UI::StackedContainer.

Definition at line 316 of file menuentry.cpp.

void Mezzanine::UI::MenuEntry::ProtoSerializeProperties ( XML::Node SelfRoot) const
virtual

Convert the properties of this class to an XML::Node ready for serialization.

Parameters
SelfRootThe root node containing all the serialized data for this instance.

Reimplemented from Mezzanine::UI::StackedContainer.

Definition at line 286 of file menuentry.cpp.

Boolean Mezzanine::UI::MenuEntry::PushOntoStack ( )
protectedvirtual

Pushes this MenuEntry onto the stack if one is available.

Returns
Returns true if this MenuEntry was successfully pushed onto the stack, false otherwise.

Definition at line 102 of file menuentry.cpp.

Whole Mezzanine::UI::MenuEntry::RollBackToEntry ( MenuEntry RollBackTo)
virtual

Finds a MenuEntry in the menu stack and hides all Entries above it in the menu stack.

Note
This can return zero if the provided entry isn't on the stack or if it is the last entry on the stack.
Parameters
RollBackToA pointer to the MenuEntry to roll the menu stack back to.
Returns
Returns the number of MenuEntrys that were hidden by this method.

Definition at line 156 of file menuentry.cpp.

void Mezzanine::UI::MenuEntry::SetAutoHide ( Boolean  AutoHide)
virtual

Sets whether or not thie window should auto hide when another window is added to the menu stack.

Parameters
AutoHidewhether or not to enable auto hiding for this menu window.

Definition at line 214 of file menuentry.cpp.

void Mezzanine::UI::MenuEntry::SetPopButton ( MenuButton Pop)
virtual

Sets the button that will pop(remove) this entry from the menu stack, hiding it.

Parameters
PopA pointer to the button that will make this entry hide.

Definition at line 243 of file menuentry.cpp.

void Mezzanine::UI::MenuEntry::SetPushButton ( MenuButton Push)
virtual

Sets the button that will push(add) this entry on the menu stack, making it visible.

Parameters
PushA pointer to the button that will make this entry visible.

Definition at line 223 of file menuentry.cpp.

void Mezzanine::UI::MenuEntry::SetToggleButton ( MenuButton Toggle)
virtual

Sets the button that will both push(add) and pop(remove) the entry from the menu stack, based on the current state of the entry.

Parameters
ToggleA pointer to the button that will toggle this MenuEntrys visibility.

Definition at line 263 of file menuentry.cpp.

void Mezzanine::UI::MenuEntry::SetVisible ( Boolean  CanSee)
virtual

Reimplemented from Mezzanine::UI::Widget.

Definition at line 189 of file menuentry.cpp.

void Mezzanine::UI::MenuEntry::Show ( )
virtual

Forces this renderable to be shown.

Reimplemented from Mezzanine::UI::Widget.

Definition at line 200 of file menuentry.cpp.

Member Data Documentation

Boolean Mezzanine::UI::MenuEntry::AutoHideEntry
protected

Stores whether or not this Entry will automatically be hidden when another entry is pushed onto the stack after it.

Definition at line 105 of file menuentry.h.

MenuEntryContainer* Mezzanine::UI::MenuEntry::MenuStack
protected

A pointer to the active stack of MenuEntries.

Definition at line 96 of file menuentry.h.

MenuButton* Mezzanine::UI::MenuEntry::PopButton
protected

A pointer to the button that will pop this entry from the menu stack.

Definition at line 102 of file menuentry.h.

MenuButton* Mezzanine::UI::MenuEntry::PushButton
protected

A pointer to the button that will push this entry on the menu stack.

Definition at line 99 of file menuentry.h.


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