Guiliani  Version 2.6 revision 7293 (documentation build 12)
GUIExpandingComposite.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 GUIEXPANDINGCOMPSITE__H_
11#define GUIEXPANDINGCOMPSITE__H_
12
13#include "GUIRepositionCompositeObject.h"
14#include "GUIBehaviourDecorator.h"
15#include "GUICheckBox.h"
16
17#include "GUIImageResource.h"
18#include "GUIFontResource.h"
19#include "GUIEasing.h"
20
25{
26public:
32 {
33 }
34
35 virtual eC_Bool DoClick(const eC_Value& vAbsX = eC_FromInt(-1), const eC_Value& vAbsY = eC_FromInt(-1));
36};
37
43{
44public:
49
60 CGUICompositeObject* const pkParent,
61 const eC_Value& vX,
62 const eC_Value& vY,
63 const eC_Value& vWidth,
64 const eC_Value& vHeight,
65 const eC_String& kHeadline = "Headline",
66 const ObjectHandle_t &eID = NO_HANDLE);
67
75 CGUICompositeObject* const pkParent,
76 const CGUIRect &kRect,
77 const eC_String& kHeadline = "Headline",
78 const ObjectHandle_t &eID = NO_HANDLE);
79
85 eC_Bool AddObject(CGUIObject* pkObject);
86
89
90 virtual void SetWidth(const eC_Value& vX);
91
92 virtual void SetHeight(const eC_Value& vY);
93
96 void Expand();
97
101 eC_Bool IsExpanded() const;
102
106 void SetHeadline(const eC_String& kHeadline);
107
111 eC_String GetHeadline() const;
112
117 void SetFontID(const FontResource_t& eFontID);
118
124
131 const ImageResource_t& eImageCollapsed,
132 const ImageResource_t& eImageExpanded);
133
140 ImageResource_t& eImageCollapsed,
141 ImageResource_t& eImageExpanded) const;
142
147 void SetAnimated(const eC_Bool& bAnimated);
148
153 eC_Bool GetAnimated() const;
154
161 const eC_UInt& uiDurationCollapse,
162 const eC_UInt& uiDurationExpand);
163
170 eC_UInt& uiDurationCollapse,
171 eC_UInt& uiDurationExpand) const;
172
178
184
188
189 virtual void DoAnimate(const eC_Value& vTimes = eC_FromInt(1));
190
191#ifdef GUILIANI_STREAM_GUI
192 virtual void ReadFromStream();
193#endif // GUILIANI_STREAM_GUI
194
195#ifdef GUILIANI_WRITE_GUI
196 virtual void WriteToStream(const eC_Bool bWriteClassID = false);
197#endif // GUILIANI_WRITE_GUI
198
199private:
201 void Init();
202
206 void UpdateElements();
207
208private:
209 eC_String m_kHeadline;
210 FontResource_t m_eFontID;
211 ImageResource_t m_eImageCollapsed;
212 ImageResource_t m_eImageExpanded;
213 eC_Bool m_bAnimated;
214 eC_UInt m_uiDurationCollapse;
215 eC_UInt m_uiDurationExpand;
216
217 CGUICheckBox* m_pkExpandButton;
218 CGUIRepositionCompositeObject* m_pkContainer;
219 CGUIExpandingCompositeBehaviour* m_pkExpandBehaviour;
220
221 eC_Bool m_bExpanded;
222 CGUIEasing m_kEasing;
223 eC_Value m_vElapsedTime;
224 eC_Value m_vCurrentDuration;
225 eC_Value m_vEaseHeightStart;
226 eC_Value m_vEaseHeightEnd;
227
228 eC_Value m_vHeadlineHeight;
229};
230
231#endif
Helper Macros in Guiliani
FontResource_t
List of font resource ids.
Definition: GUIFontResource.h:54
Helper Macros in Guiliani
ImageResource_t
Enumeration of image resource ids.
Definition: GUIImageResource.h:126
ObjectHandle_t
List of object resource ids.
Definition: GUIObjectHandleResource.h:55
GUIBehaviourDecorator base class.
Definition: GUIBehaviourDecorator.h:78
Check box that draws itself with images.
Definition: GUICheckBox.h:64
This is the Guiliani base class for all composite objects.
Definition: GUICompositeObject.h:70
A CGUIEasing can be used for Guiliani animations.
Definition: GUIEasing.h:46
Definition: GUIExpandingComposite.h:25
virtual eC_Bool DoClick(const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
CGUIExpandingCompositeBehaviour()
Definition: GUIExpandingComposite.h:30
Definition: GUIExpandingComposite.h:43
CGUIExpandingComposite(CGUICompositeObject *const pkParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const eC_String &kHeadline="Headline", const ObjectHandle_t &eID=NO_HANDLE)
virtual void ReadFromStream()
eC_Bool IsExpanded() const
FontResource_t GetFontID() const
void SetImages(const ImageResource_t &eImageCollapsed, const ImageResource_t &eImageExpanded)
CGUICheckBox * GetExpandButton() const
CGUIExpandingComposite(CGUICompositeObject *const pkParent, const CGUIRect &kRect, const eC_String &kHeadline="Headline", const ObjectHandle_t &eID=NO_HANDLE)
eC_Bool GetAnimated() const
CGUIRepositionCompositeObject * GetContainer() const
void GetImages(ImageResource_t &eImageCollapsed, ImageResource_t &eImageExpanded) const
void SetFontID(const FontResource_t &eFontID)
virtual void SetHeight(const eC_Value &vY)
virtual void SetWidth(const eC_Value &vX)
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
eC_String GetHeadline() const
void SetAnimated(const eC_Bool &bAnimated)
virtual ~CGUIExpandingComposite()
This destructor is automatically virtual, as the base class destructor is virtual.
virtual void DoAnimate(const eC_Value &vTimes=eC_FromInt(1))
void GetAnimationDuration(eC_UInt &uiDurationCollapse, eC_UInt &uiDurationExpand) const
void SetAnimationDuration(const eC_UInt &uiDurationCollapse, const eC_UInt &uiDurationExpand)
void SetHeadline(const eC_String &kHeadline)
eC_Bool AddObject(CGUIObject *pkObject)
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:81
Helper class to supply a platform independent rectangle implementation.
Definition: GUIRect.h:63
Can reposition its visible children in different directions.
Definition: GUIRepositionCompositeObject.h:71