41 #ifndef _uigridcontainer_h
42 #define _uigridcontainer_h
44 #include "UI/pagedcontainer.h"
50 class HorizontalScrollbar;
51 class VerticalScrollbar;
115 Whole GetLeftCell()
const;
118 Whole GetRightCell()
const;
121 Whole GetTopCell()
const;
124 Whole GetBottomCell()
const;
136 void ProtoSerialize(
XML::Node& ParentNode)
const;
139 void ProtoDeSerialize(
const XML::Node& SelfRoot);
143 static String GetSerializableName();
189 virtual void ProtoSerializeImpl(
XML::Node& SelfRoot)
const;
191 virtual void ProtoDeSerializeImpl(
const XML::Node& SelfRoot);
193 virtual void UpdateContainerDimensionsImpl(
const Rect& OldSelfRect,
const Rect& NewSelfRect);
218 virtual void UpdateWorkAreaSize();
220 virtual void QuickUpdateWorkAreaSize(
const UnifiedVec2& ChildSize,
Boole Adding);
223 virtual const String& GetTypeName()
const;
242 virtual void SetCellSize(
const Whole X,
const Whole Y);
255 virtual void SetCellPadding(
const UnifiedVec2& Padding);
287 virtual void AddChild(
Widget* Child,
const GridRect& GridTransform);
292 virtual void RemoveChild(
Widget* ToBeRemoved);
294 virtual void RemoveAllChildren();
296 virtual void DestroyChild(
Widget* ToBeDestroyed);
298 virtual void DestroyAllChildren();
305 virtual void ProtoSerializeGridRects(
XML::Node& SelfRoot)
const;
307 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
311 virtual void ProtoDeSerializeGridRects(
const XML::Node& SelfRoot);
313 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
316 static String GetSerializableName();
335 virtual String GetWidgetTypeName()
const;
363 virtual void DestroyWidget(
Widget* ToBeDestroyed);
This is the base class for containers that have a render area and work area of different sizes...
GridVector2 Size
The Cell size of this rect.
static const String TypeName
String containing the type name for this class: "GricContainer".
bool Boole
Generally acts a single bit, true or false.
This is the factory implementation for GridContainer widgets.
This is a container class for placing child objects on a 2 dimensional grid.
ChildRectContainer::iterator ChildRectIterator
Iterator type for GridRects in relation to the children they apply to.
GridVector2 Position
The Cell position of this rect.
Simple rect used to represent a complete transform on a grid.
ChildRectContainer ChildRects
Container storing pairs of Grid rects and the children they apply to.
This class represents a box shaped area on the screen.
Whole Y
The Cell(s) on the Y axis.
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.
ChildRectContainer::const_iterator ConstChildRectIterator
Const Iterator type for GridRects in relation to the children they apply to.
A light-weight handle for manipulating nodes in DOM tree.
GridContainerFactory()
Class constructor.
UnifiedVec2 CellSize
The size of each cell in this grid.
Simple class used to represent positions or sizes on a grid.
UnifiedVec2 CellPadding
The amount of space on each side of each dimension of a given cell which will be considered unusable ...
virtual void AddChild(Widget *Child)
Adds a Widget to this as a child of this quad.
std::pair< Widget *, GridRect > ChildRectPair
Convenience typedef for a child of this container and it's grid rect.
virtual ~GridContainerFactory()
Class destructor.
This is the base class for interpretting widget values to page positions.
The bulk of the engine components go in this namspace.
unsigned long Whole
Whole is an unsigned integer, it will be at least 32bits in size.
This class represents a point in 2D space using UnifiedDim's.
Whole X
The Cell(s) on the X axis.
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.
std::vector< ChildRectPair > ChildRectContainer
Container type for storing GridRects in relation to the children they apply to.