Guiliani  Version 2.6 revision 7293 (documentation build 12)
CGUIGroupLayouter Class Reference

#include <GUIGroupLayouter.h>

Inheritance diagram for CGUIGroupLayouter:

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)
 
- Public Member Functions inherited from CGUILayouter
virtual ~CGUILayouter ()
 Destructor. More...
 
virtual void DoLayout (eMovedEdges_t eMovedEdges)=0
 
CGUIObjectGetAssociatedObject () const
 
virtual void InitLayouter (eMovedEdges_t eMovedEdges)
 
virtual eC_Bool IsDependentOnParentSize ()=0
 
virtual eC_Bool IsGroupLayouter () const
 
virtual void SetAssociatedObject (CGUIObject *const pkObject)
 
- Public Member Functions inherited from CGUIStreamableObject
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 Public Attributes inherited from CGUILayouter
static const eC_Char XMLTAG_LAYOUTERCLASSID []
 XML tag to be used when writing a layouter class ID into a stream.
 
- Static Public Attributes inherited from CGUIStreamableObject
static const eC_Char XMLTAG_CLASSVERSION []
 

Protected Member Functions

eC_Bool LayoutAction ()
 
- Protected Member Functions inherited from CGUILayouter
 CGUILayouter (CGUIObject *const pkObject=NULL)
 
- Protected Member Functions inherited from CGUIStreamableObject
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

- Public Types inherited from CGUILayouter
enum  eMovedEdges_t {
  CHANGED_WIDTH , CHANGED_HEIGHT , CHANGED_RELXPOS , CHANGED_RELYPOS ,
  CHANGED_EDGE_ALL
}
 Enumerate possible reasons for calling layout,. More...
 
- Static Public Member Functions inherited from CGUIStreamableObject
static UUID_t GenerateUUID ()
 

Detailed Description

This is the group layouter base class

Constructor & Destructor Documentation

◆ CGUIGroupLayouter()

CGUIGroupLayouter::CGUIGroupLayouter ( CGUICompositeObject pkObject,
eC_Bool  bTakeOverParentLayout 
)

Constructs a Group-Layouter.

Parameters
pkObjectPointer to the object to which the layouter is attached.
bTakeOverParentLayoutTrue 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.

Member Function Documentation

◆ IsDependentOnParentSize()

virtual eC_Bool CGUIGroupLayouter::IsDependentOnParentSize ( )
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.

Returns
eC_Bool True if dependend, False otherwise

Implements CGUILayouter.

◆ IsGroupLayouter()

virtual eC_Bool CGUIGroupLayouter::IsGroupLayouter ( ) const
virtual

return if is group-layouter

Returns
true if group-layouter

Reimplemented from CGUILayouter.

◆ LayoutAction()

eC_Bool CGUIGroupLayouter::LayoutAction ( )
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.

Returns
True if successful, FALSE if not. If FALSE no layout changed.

◆ ReadFromStream()

virtual void CGUIGroupLayouter::ReadFromStream ( )
virtual

Reads attributes from the streaming file. Only for use with GUIFactoryManager.

See also
CGUIObject::ReadFromStream()

Reimplemented from CGUIStreamableObject.

Reimplemented in CGUILayouterGrid, CGUILayouterList, and CGUILayouterReposition.

◆ SetAssociatedObject()

virtual void CGUIGroupLayouter::SetAssociatedObject ( CGUIObject *const  pkObject)
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.

See also
CGUIObject::SetLayouter()
Parameters
pkObjectThe object to be associated

Reimplemented from CGUILayouter.

◆ WriteToStream()

virtual void CGUIGroupLayouter::WriteToStream ( const eC_Bool  bWriteClassID = false)
virtual

Writes attributes to the streaming file. A CGUIStreamWriter has to be initialized.

Parameters
bWriteClassIDThis 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.


The documentation for this class was generated from the following file: