41 #ifndef _uipagedcontainer_h
42 #define _uipagedcontainer_h
44 #include "UI/widget.h"
166 virtual void ProtoSerializeImpl(
XML::Node& SelfRoot)
const;
168 virtual void ProtoDeSerializeImpl(
const XML::Node& SelfRoot);
170 virtual void HandleChildStateChangeImpl(
Widget* Child,
const UInt32& OldState,
const UInt32& NewState);
175 virtual void UpdateContainerDimensionsImpl(
const Rect& OldSelfRect,
const Rect& NewSelfRect) = 0;
198 virtual void UpdateWorkAreaSize() = 0;
204 virtual void QuickUpdateWorkAreaSize(
const UnifiedVec2& ChildSize,
Boole Adding) = 0;
207 virtual const Vector2& GetWorkAreaSize()
const;
210 virtual void UpdateDimensions(
const Rect& OldSelfRect,
const Rect& NewSelfRect);
212 virtual void UpdateVisibleChildren();
216 virtual Widget* GetLastSelectedChild()
const;
218 virtual void ClearSelectedChild();
232 virtual void SetVisible(
Boole CanSee);
234 virtual Boole GetVisible()
const;
236 virtual Boole IsVisible()
const;
274 virtual void AddChild(
Widget* Child);
276 virtual void AddChild(
Widget* Child,
const UInt16 ZOrder);
278 virtual void RemoveChild(
Widget* ToBeRemoved);
280 virtual void RemoveAllChildren();
282 virtual void DestroyChild(
Widget* ToBeDestroyed);
284 virtual void DestroyAllChildren();
291 virtual void ProtoSerializePageData(
XML::Node& SelfRoot)
const;
293 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
297 virtual void ProtoDeSerializePageData(
const XML::Node& SelfRoot);
299 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
302 static String GetSerializableName();
310 virtual void _OnChildSelected(
const String& ChildName,
const Boole Selected);
This is the base class for containers that have a render area and work area of different sizes...
Widget * LastSelectedChild
A pointer to the last child widget that was selected within this container.
const Boole Selected
Boole storing whether or not the named child is gaining or losing focus.
VisibleChildContainer::const_iterator ConstVisibleChildIterator
Const Iterator type for Visible Widget instances stored by this class.
bool Boole
Generally acts a single bit, true or false.
const String ChildName
The identification of the source firing this event.
static const String TypeName
String containing the type name for this class: "PagedContainer".
VisibleChildContainer::iterator VisibleChildIterator
Iterator type for Visible Widget instances stored by this class.
virtual ChildSelectedArguments * GetMostDerived()
Get a pointer to the most Derived type of this instance.
A simple reference counting pointer.
This class represents a box shaped area on the screen.
ChildSelectedArguments(const String &Name, const String &Source, const String &Child, const Boole Select)
Class constructor.
PageProvider * XProvider
A pointer to the X axis provider.
static const String EventChildSelected
Event name for when a child of this widget gets selected.
virtual ~ChildSelectedArguments()
Class destructor.
This class represents a 2D rect which can express the size and position of a renderable on screen...
uint16_t UInt16
An 16-bit unsigned integer.
This is used to deduce at compile if a specific class has built-in reference counting or needs an ext...
This is the EventArguments class for when a child of a paged container is selected.
A light-weight handle for manipulating nodes in DOM tree.
uint32_t UInt32
An 32-bit unsigned integer.
UI::ChildSelectedArguments RefCountType
Typedef communicating the reference count type to be used.
This is used to represent a point on a 2 dimentional area, such as a screen.
A static cast from the pointer as provided with no attempt to calls functions on the pointer target...
PageProvider * YProvider
A pointer to the Y axis provider.
This is the base class for interpretting widget values to page positions.
static RefCountType * ConstructionPointer(RefCountType *Target)
Method responsible for creating a reference count for a CountedPtr of the templated type...
Vector2 WorkAreaSize
Vector2 storing the size for all pages of this container.
The bulk of the engine components go in this namspace.
This class stores all vertices pertaining to a layer sorted by their priority for rendering...
This class represents a point in 2D space using UnifiedDim's.
ProviderMode
An enum describing how the providers for this container are configured and being used.
VisibleChildContainer VisibleChildren
A container of children that meet the criteria for rendering in this container.
std::vector< Widget * > VisibleChildContainer
Basic container type for Visible Widget storage by this class.
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.
CountedPtr< ChildSelectedArguments > ChildSelectedArgumentsPtr
Convenience typedef for passing around ChildSelectedArguments.