Guiliani  Version 2.5 revision 7293 (documentation build 13)
GUILayouter.h
1/*
2* Copyright (C) TES Electronic Solutions GmbH,
3* All Rights Reserved.
4* Contact: info@guiliani.de
5*
6* This file is part of the Guiliani HMI framework
7* for the development of graphical user interfaces on embedded systems.
8*/
9
10#ifndef GUI_LAYOUTER__H_
11#define GUI_LAYOUTER__H_
12
13#include "GUIStreamableObject.h"
14#include "GUIRect.h"
15
16class CGUIObject;
42// @guiliani_doxygen toplevel_module Layouter
54// @endguiliani_doxygen
55
57{
58public:
61 {
67 };
68
70
72 virtual ~CGUILayouter();
73
94 virtual eC_Bool IsDependentOnParentSize() = 0;
95
137 virtual void DoLayout(eMovedEdges_t eMovedEdges) = 0;
138
159 virtual void InitLayouter(eMovedEdges_t eMovedEdges) {}
160
164 inline CGUIObject* GetAssociatedObject() const { return m_pkObject; }
165
172 virtual void SetAssociatedObject(CGUIObject * const pkObject);
173
174#if defined(GUILIANI_STREAM_GUI) || defined(GUILIANI_WRITE_GUI)
176 static const eC_Char XMLTAG_LAYOUTERCLASSID[];
177#endif
178
182 virtual eC_Bool IsGroupLayouter() const;
183
184protected:
188 CGUILayouter(CGUIObject * const pkObject = NULL);
189
190private:
191
194 CGUILayouter(const CGUILayouter& kSource);
195
198 CGUILayouter& operator=(const CGUILayouter& kSource);
199
201 CGUIObject *m_pkObject;
202};
203
204#endif
Definition: GUILayouter.h:57
virtual void InitLayouter(eMovedEdges_t eMovedEdges)
Definition: GUILayouter.h:159
virtual eC_Bool IsDependentOnParentSize()=0
CGUIObject * GetAssociatedObject() const
Definition: GUILayouter.h:164
eMovedEdges_t
Enumerate possible reasons for calling layout,.
Definition: GUILayouter.h:61
@ CHANGED_WIDTH
distance to the parent's right border changed, that is, SetWidth() was called on associated object
Definition: GUILayouter.h:62
@ CHANGED_RELXPOS
distance to the parent's left and right borders changed, that is, SetRelXPos() was called on associat...
Definition: GUILayouter.h:64
@ CHANGED_HEIGHT
distance to the parent's bottom border changed, that is, SetHeight() was called on associated object
Definition: GUILayouter.h:63
@ CHANGED_EDGE_ALL
distance to all edges changed
Definition: GUILayouter.h:66
@ CHANGED_RELYPOS
distance to the parent's top and bottom borders changed, that is, SetRelYPos() was called on associat...
Definition: GUILayouter.h:65
static const eC_Char XMLTAG_LAYOUTERCLASSID[]
XML tag to be used when writing a layouter class ID into a stream.
Definition: GUILayouter.h:176
virtual void DoLayout(eMovedEdges_t eMovedEdges)=0
virtual eC_Bool IsGroupLayouter() const
CGUILayouter(CGUIObject *const pkObject=NULL)
virtual void SetAssociatedObject(CGUIObject *const pkObject)
virtual ~CGUILayouter()
Destructor.
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:79
Base class for streamable objects.
Definition: GUIStreamableObject.h:45