43 #include "UI/quadrenderable.h"
44 #include "UI/widgetfactory.h"
45 #include "Input/metacode.h"
46 #include "eventpublisher.h"
47 #include "eventsubscriber.h"
54 class RenderableContainer;
55 class GenericWidgetFactory;
137 WS_Mezzanine_Reserved_1 = 8,
138 WS_Mezzanine_Reserved_2 = 16,
139 WS_Mezzanine_Reserved_3 = 32,
140 WS_Mezzanine_Reserved_4 = 64,
142 WS_User_State_1 = 128,
143 WS_User_State_2 = 256,
144 WS_User_State_3 = 512,
145 WS_User_State_4 = 1024
155 WG_Mezzanine_Reserved_1 = 9,
156 WG_Mezzanine_Reserved_2 = 10,
157 WG_Mezzanine_Reserved_3 = 11,
158 WG_Mezzanine_Reserved_4 = 12,
160 WG_User_Group_1 = 17,
161 WG_User_Group_2 = 18,
162 WG_User_Group_3 = 19,
207 virtual void ProtoSerializeImpl(
XML::Node& SelfRoot)
const;
209 virtual void ProtoDeSerializeImpl(
const XML::Node& SelfRoot);
220 virtual void HandleChildStateChangeImpl(
Widget* Child,
const UInt32& OldState,
const UInt32& NewState);
223 void ConstructWidget();
251 virtual const String& GetTypeName()
const;
254 virtual Boole IsHovered()
const;
257 virtual Boole HasFocus()
const;
260 virtual Boole IsDragged()
const;
266 virtual void ForceState(
const UInt32 NewState);
269 virtual UInt32 GetState()
const;
285 virtual Boole SetGroupFromState(
const UInt32 BindState);
292 Widget* GetHoveredSubWidget()
const;
295 Widget* GetBottomMostHoveredWidget();
301 virtual void SetVisible(
Boole CanSee);
303 virtual Boole GetVisible()
const;
305 virtual Boole IsVisible()
const;
315 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
318 virtual void ProtoSerializeStateGroupBindings(
XML::Node& SelfRoot)
const;
321 virtual void ProtoSerializeEvents(
XML::Node& SelfRoot)
const;
324 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
327 virtual void ProtoDeSerializeStateGroupBindings(
const XML::Node& SelfRoot);
330 virtual void ProtoDeSerializeEvents(
const XML::Node& SelfRoot);
333 virtual String GetDerivedSerializableName()
const;
335 static String GetSerializableName();
342 virtual void _OnMouseEnter();
345 virtual void _OnMouseExit();
348 virtual void _OnMouseDragStart();
351 virtual void _OnMouseDragEnd();
354 virtual void _OnFocusGained();
357 virtual void _OnFocusLost();
360 virtual void _OnFocusLocked();
363 virtual void _OnFocusUnlocked();
365 virtual void _OnVisibilityShown();
367 virtual void _OnVisibilityHidden();
383 virtual void _NotifyChildStateChange(
Widget* Child,
const UInt32& OldState,
const UInt32& NewState);
401 virtual String GetWidgetTypeName()
const;
424 virtual void DestroyWidget(
Widget* ToBeDestroyed);
bool Boole
Generally acts a single bit, true or false.
This is a base class for all classes that subscribe to events.
A simple reference counting pointer.
This is the base class for any class that generates and publishes events to subscribers.
This class represents a 2D rect which can express the size and position of a renderable on screen...
This is used to deduce at compile if a specific class has built-in reference counting or needs an ext...
A light-weight handle for manipulating nodes in DOM tree.
uint32_t UInt32
An 32-bit unsigned integer.
A static cast from the pointer as provided with no attempt to calls functions on the pointer target...
This is a common class to represent all possible arguments for a given event that is fired...
CountedPtr< WidgetEventArguments > WidgetEventArgumentsPtr
Convenience typedef for passing around WidgetEventArguments.
This class stores a group of render layers that can be set to be rendered.
The bulk of the engine components go in this namspace.
This represents a nestable quad for an object in a GUI layout.
std::map< String, String > NameValuePairMap
This is a datatype mostly used for describing settings or parameters that can't be declared in advanc...
This class is a helper class for creating UI's. It is responsible for storing and keeping track of al...
std::string String
A datatype used to a series of characters.
RenderableType
A small enum to describe the type of renderable this is.