#include <GUIGroupLayouter.h>
Public Member Functions | |
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 | 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 [] |
Protected Member Functions | |
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 |
Additional Inherited Members | |
![]() | |
enum | eMovedEdges_t { CHANGED_WIDTH , CHANGED_HEIGHT , CHANGED_RELXPOS , CHANGED_RELYPOS , CHANGED_EDGE_ALL } |
Enumerate possible reasons for calling layout,. More... | |
This is the group layouter base class
CGUIGroupLayouter::CGUIGroupLayouter | ( | CGUICompositeObject * | pkObject, |
eC_Bool | bTakeOverParentLayout | ||
) |
Constructs a Group-Layouter.
pkObject | Pointer to the object to which the layouter is attached. |
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. |
|
inlinevirtual |
This function shall determine if the layouter shall initially be called due to resizing the parent of the associated object or if it shall initially be called by resizing the associated object. If it returns false the framework will call DoLayout() on this layouter of the object that is triggering the layout procedure, that is, the composite object on which the first (in the current call stack) SetWidth() or SetHeight() is called.
Returning false is the typical use case for a group layouter that does not consider the layout of the parent of the associated object. In this case the initially resized object starting the layout procedure is the 'group object' itself, therefore you can say changing the 'group object' starts the layout procedure in this case.
If it returns true, the first DoLayout() is called on a child of the initially resized object. This is the typical use case for a child layouter or a group layouter that is considering the layout of 'its' parent. Therefore, you can say changing the parent is starting the layout procedure in this case.
Implements CGUILayouter.
|
virtual |
|
protected |
LayoutAction() takes over the size of the associated object's parent to the associated object and sets the x and y position of the associated to zero.
|
virtual |
Reads attributes from the streaming file. Only for use with GUIFactoryManager.
Reimplemented from CGUIStreamableObject.
Reimplemented in CGUILayouterGrid, CGUILayouterList, and CGUILayouterReposition.
|
virtual |
Sets the associated object, that means the object on which the layouter will be working. Note that there is always a one-to-one relation between a layouter and a GUIObject. Assigning a layouter to an object A first, and then assigning it to an object B will actually leave object A without a layouter.
pkObject | The object to be associated |
Reimplemented from CGUILayouter.
|
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 CGUIStreamableObject.
Reimplemented in CGUILayouterGrid, CGUILayouterList, and CGUILayouterReposition.