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;
145 virtual void ProtoSerializeImpl(
XML::Node& SelfRoot)
const;
147 virtual void ProtoDeSerializeImpl(
const XML::Node& SelfRoot);
155 void ConstructWidget();
183 virtual const String& GetTypeName()
const;
186 virtual Boolean IsHovered()
const;
189 virtual Boolean HasFocus()
const;
192 virtual Boolean IsBeingDragged()
const;
208 virtual bool SetGroupFromState(
const UInt32 BindState);
215 Widget* GetHoveredSubWidget()
const;
218 Widget* GetBottomMostHoveredWidget();
224 virtual void SetVisible(Boolean CanSee);
226 virtual Boolean GetVisible()
const;
228 virtual Boolean IsVisible()
const;
238 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
241 virtual void ProtoSerializeStateGroupBindings(
XML::Node& SelfRoot)
const;
244 virtual void ProtoSerializeEvents(
XML::Node& SelfRoot)
const;
247 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
250 virtual void ProtoDeSerializeStateGroupBindings(
const XML::Node& SelfRoot);
253 virtual void ProtoDeSerializeEvents(
const XML::Node& SelfRoot);
256 virtual String GetDerivedSerializableName()
const;
258 static String GetSerializableName();
265 virtual void _OnMouseEnter();
268 virtual void _OnMouseExit();
271 virtual void _OnMouseDragStart();
274 virtual void _OnMouseDragging();
277 virtual void _OnMouseDragEnd();
280 virtual void _OnFocusGained();
283 virtual void _OnFocusLost();
286 virtual void _OnFocusLocked();
289 virtual void _OnFocusUnlocked();
291 virtual void _OnVisibilityShown();
293 virtual void _OnVisibilityHidden();
321 virtual String GetWidgetTypeName()
const;
344 virtual void DestroyWidget(
Widget* ToBeDestroyed);