Layouter for list arangement, resizes to asscoiated object. More...
#include <GUILayouterList.h>
Public Member Functions | |
CGUILayouterList () | |
Default Constuctor. | |
CGUILayouterList (CGUICompositeObject *pkObject, CGUILayoutHelper::ListAlignment_t eBasePoint, eC_Bool bTakeOverParentLayout) | |
virtual | ~CGUILayouterList () |
Destructor a List-Layouter. | |
virtual void | DoLayout (eMovedEdges_t eMovedEdges) |
eC_UInt | GetBasePoint () const |
virtual void | InitLayouter (eMovedEdges_t eMovedEdges) |
virtual void | ReadFromStream () |
void | SetBasePoint (const CGUILayoutHelper::ListAlignment_t eBasePoint) |
virtual void | WriteToStream (const eC_Bool bWriteClassID=false) |
![]() | |
CGUIGroupLayouter () | |
Default constuctor. | |
CGUIGroupLayouter (CGUICompositeObject *pkObject, eC_Bool bTakeOverParentLayout) | |
virtual | ~CGUIGroupLayouter () |
Destructor a Reposition-Layouter. | |
virtual eC_Bool | IsDependentOnParentSize () |
virtual eC_Bool | IsGroupLayouter () const |
virtual void | ReadFromStream () |
virtual void | SetAssociatedObject (CGUIObject *const pkObject) |
virtual void | WriteToStream (const eC_Bool bWriteClassID=false) |
![]() | |
virtual | ~CGUILayouter () |
Destructor. More... | |
virtual void | DoLayout (eMovedEdges_t eMovedEdges)=0 |
CGUIObject * | GetAssociatedObject () const |
virtual void | InitLayouter (eMovedEdges_t eMovedEdges) |
virtual eC_Bool | IsDependentOnParentSize ()=0 |
virtual eC_Bool | IsGroupLayouter () const |
virtual void | SetAssociatedObject (CGUIObject *const pkObject) |
![]() | |
const eC_String & | GetXMLTag () const |
virtual void | ReadFromStream () |
void | SetXMLTag (const eC_String &kXMLTag) |
virtual void | WriteToStream (const eC_Bool bWriteClassID=false) |
Static Public Attributes | |
static const eC_UInt | LAYOUTER_LIST_CLASS_VERSION |
Class version of list layouter class. | |
![]() | |
static const eC_UInt | GROUP_LAYOUTER_CLASS_VERSION |
Class version of group layouter class. | |
![]() | |
static const eC_Char | XMLTAG_LAYOUTERCLASSID [] |
XML tag to be used when writing a layouter class ID into a stream. | |
![]() | |
static const eC_Char | XMLTAG_CLASSVERSION [] |
Additional Inherited Members | |
![]() | |
enum | eMovedEdges_t { CHANGED_WIDTH , CHANGED_HEIGHT , CHANGED_RELXPOS , CHANGED_RELYPOS , CHANGED_EDGE_ALL } |
Enumerate possible reasons for calling layout,. More... | |
![]() | |
eC_Bool | LayoutAction () |
![]() | |
CGUILayouter (CGUIObject *const pkObject=NULL) | |
![]() | |
eC_UInt | ReadStreamingHeader (const eC_UInt &uiClassVersion, const eC_UInt &uiClassMinVersion=0) const |
void | WriteStreamingFooter (const eC_Bool &bWriteClassID) const |
void | WriteStreamingHeader (const eC_Bool &bWriteClassID, const eC_Char *const pkClassIDTag, const eC_Int &iClassID, const eC_UInt &uiClassVersion) const |
Layouter for list arangement, resizes to asscoiated object.
This is a layouter, which implements repositioning of the children of the associated object in a list according to the size of the associated object. If a line or row is completely filled it wraps to another one.
CGUILayouterList::CGUILayouterList | ( | CGUICompositeObject * | pkObject, |
CGUILayoutHelper::ListAlignment_t | eBasePoint, | ||
eC_Bool | bTakeOverParentLayout | ||
) |
Constructs a List-Layouter.
pkObject | Pointer to the object to which the layouter is attached. |
eBasePoint | The base point on which the list positioning is based. |
bTakeOverParentLayout | True if LayoutAction() shall take over the size of the associated object's parent to the associated object and set the x and y position of the associated to zero. |
|
virtual |
Repositions child objects and resizes associated object.
eMovedEdges | Reason for layouter call |
Implements CGUILayouter.
|
inline |
Get 'BasePoint' repositioning parameter, see CGUILayoutHelper::AdjustListArrangement().
|
inlinevirtual |
This function is useful for child layouters. Called when the layout of the associated object itself has changed. It is called by the framework every time the width or height or x or y relative position of the associated object is changed. That is, for example when the new distance to parent's border(s) shall be set in a child layouter to base upcoming layouting on this data the framework calls this method.
InitLayouter() is only called on the layouter of the associated object for one change of the position or size of the associated object. DoLayout() in contrast is called on the layouter of the associated object and on the layouters of all decendants of the associated object for one change of the size of the associated object.
This function usually does not implement changes to any layout. It is typically used to remember layout data to be used in DoLayout() later on (useful for child layouters that depend on changes of their associated object's parent).
eMovedEdges | Reason for layouter call |
Reimplemented from CGUILayouter.
|
virtual |
Reads attributes from the streaming file. Only for use with GUIFactoryManager.
Reimplemented from CGUIGroupLayouter.
|
inline |
Set 'BasePoint' repositioning parameter, see CGUILayoutHelper::AdjustListArrangement().
eBasePoint |
|
virtual |
Writes attributes to the streaming file. A CGUIStreamWriter has to be initialized.
bWriteClassID | This flag is used to switch writing of the class ID, leading and trailing tags. When implementing a new streamable object, check this flag. If it is true, first write the class ID, then continue with this object's attributes, and finally call the base class implementation with this flag set to false (this is the default). |
Reimplemented from CGUIGroupLayouter.