Guiliani  Version 2.5 revision 7293 (documentation build 13)
GUIObject.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 GUIOBJECT__H_
11#define GUIOBJECT__H_
12
13#include "GUIBehaviour.h"
15#include "GUIRect.h"
16#include "GUIBitmapPlane.h"
17#include "GUILayouter.h"
18#include "GUIAnimatable.h"
19#include "GUIDataPool.h"
20
21class CGUI;
23class CGUILayouter;
25
47
79{
86 friend class CGUICompositeObject;
87 friend class CGUI;
88
89public:
90#if defined(GUILIANI_STREAM_GUI) || defined(GUILIANI_WRITE_GUI)
92 static const eC_Char XMLTAG_CONTROLCLASSID[];
93
95 static const eC_Char XMLTAG_OVERRIDDENNEIGHBORS[];
96
98 static const eC_Char XMLTAG_XPOS[];
99
101 static const eC_Char XMLTAG_YPOS[];
102
104 static const eC_Char XMLTAG_WIDTH[];
105
107 static const eC_Char XMLTAG_HEIGHT[];
108
110 static const eC_Char XMLTAG_OBJECTID[];
111
113 static const eC_Char XMLTAG_FOCUSSABLE[];
114
116 static const eC_Char XMLTAG_INVISIBLE[];
117
119 static const eC_Char XMLTAG_GRAYEDOUT[];
120
122 static const eC_Char XMLTAG_DISABLED[];
123
125 static const eC_Char XMLTAG_CLICKTHROUGH[];
126
128 static const eC_Char XMLTAG_ALPHA[];
129#endif
130
131public:
136 {
137 FOCUS_LEFT,
138 FOCUS_RIGHT,
139 FOCUS_UP,
140 FOCUS_DOWN
141 };
142
152 CGUICompositeObject* const pkParent,
153 const eC_Value& vX, const eC_Value& vY,
154 const eC_Value& vWidth, const eC_Value& vHeight,
155 const ObjectHandle_t &eID = NO_HANDLE);
156
163 CGUICompositeObject* const pkParent,
164 const CGUIRect &kRect,
165 const ObjectHandle_t &eID = NO_HANDLE);
166
175
180 CGUIObject(const CGUIObject& kSource);
181
188
195 virtual ~CGUIObject();
196
202 inline void SetRelRect(const CGUIRect& kNewRect)
203 {
204 SetRelXPos(kNewRect.GetX1());
205 SetRelYPos(kNewRect.GetY1());
206 SetWidth(kNewRect.GetWidth());
207 SetHeight(kNewRect.GetHeight());
208 }
209
213 virtual void SetRelXPos(const eC_Value& vX);
214
218 virtual void SetRelYPos(const eC_Value& vY);
219
227 inline void SetRelXPosREdge(const eC_Value& vX) { SetRelXPos(vX - m_vWidth); }
228
236 inline void SetRelYPosBEdge(const eC_Value& vY) { SetRelYPos(vY - m_vHeight); }
237
245 inline void SetRelXPosCenter(const eC_Value& vXCenter) { SetRelXPos(vXCenter - GetHalfWidth()); }
246
254 inline void SetRelYPosCenter(const eC_Value& vYCenter) { SetRelYPos(vYCenter - GetHalfHeight()); }
255
259 virtual void SetWidth(const eC_Value& vX);
260
264 virtual void SetHeight(const eC_Value& vY);
265
271 eC_Value GetDistanceRight() const;
272
278 eC_Value GetDistanceBottom() const;
279
291 inline CGUIRect GetAbsRect() const
292 {
293 return CGUIRect(
296 }
297
302 inline CGUIRect GetRelRect() const
303 {
304 return CGUIRect(
307 }
308
313 inline CGUIRect GetOriginRect() const
314 {
315 return CGUIRect(
316 eC_FromInt(0), eC_FromInt(0),
317 GetWidth(), GetHeight());
318 }
319
324 inline eC_Value GetWidth() const { return m_vWidth; }
325
330 inline eC_Value GetHeight() const { return m_vHeight; }
331
336 inline eC_Value GetRelXPos() const { return m_vXPosRel; }
337
342 inline eC_Value GetRelYPos() const { return m_vYPosRel; }
343
349 inline eC_Value GetRelXPosREdge() const { return m_vXPosRel + m_vWidth; }
350
356 inline eC_Value GetRelYPosBEdge() const { return m_vYPosRel + m_vHeight; }
357
370 inline eC_Value GetAbsXPosREdge() const { return GetAbsXPos() + m_vWidthVisible; }
371
384 inline eC_Value GetAbsYPosBEdge() const { return GetAbsYPos() + m_vHeightVisible; }
385
413 inline eC_Value GetAbsXPos() const { return m_vXPosAbsParent + m_vXPosRelVisible; }
414
419 inline eC_Value GetAbsYPos() const { return m_vYPosAbsParent + m_vYPosRelVisible; }
420
424 inline eC_Value GetRelXPosCenter() const { return GetRelXPos() + GetHalfWidth(); }
425
429 inline eC_Value GetHalfWidth() const { return eC_Div(m_vWidth, eC_FromInt(2)); }
430
434 inline eC_Value GetRelYPosCenter() const { return GetRelYPos() + GetHalfHeight(); }
435
439 inline eC_Value GetHalfHeight() const { return eC_Div(m_vHeight, eC_FromInt(2)); }
440
444 inline eC_Value GetAbsXPosCenter() const { return GetAbsXPos() + eC_Div(m_vWidthVisible, eC_FromInt(2)); }
445
449 inline eC_Value GetAbsYPosCenter() const { return GetAbsYPos() + eC_Div(m_vHeightVisible, eC_FromInt(2)); }
450
459 eC_Value GetCurrentAbsXPos() const;
460
469 eC_Value GetCurrentAbsYPos() const;
470
478 inline eC_Value GetCurrentAbsXPosREdge() const
479 {
480 return GetCurrentAbsXPos() + GetWidth();
481 }
482
490 inline eC_Value GetCurrentAbsYPosBEdge() const
491 {
492 return GetCurrentAbsYPos() + GetHeight();
493 }
494
503
510 inline eC_Value GetCurrentAbsXPosCenter() const { return GetCurrentAbsXPos() + GetHalfWidth(); }
511
518 inline eC_Value GetCurrentAbsYPosCenter() const { return GetCurrentAbsYPos() + GetHalfHeight(); }
519
525 virtual void SetParent(CGUICompositeObject* const pkParent);
526
534 inline CGUICompositeObject * GetParent() { return m_pkParentObject; }
535
543 inline const CGUICompositeObject * GetParent() const { return m_pkParentObject; }
544
550 eC_Bool IsDescendantOf(const CGUIObject* const pAncestor) const;
551
562 inline CGUIObject* GetObjectByID(const ObjectHandle_t &eID, const eC_Bool& bOnlyVisible = false)
563 {
564 // Call the const-GetObjectByID function, which is the real implementation.
565 return const_cast<CGUIObject*>(static_cast<const CGUIObject*const>(this)->GetObjectByID(eID, bOnlyVisible));
566 }
567
577 const CGUIObject* GetObjectByID(const ObjectHandle_t &eID, const eC_Bool& bOnlyVisible = false) const;
578
591 virtual CGUIObject *FindObject(const eC_Value& vAbsX, const eC_Value& vAbsY);
592
596 inline void SetID(const ObjectHandle_t &eID) { m_eID = eID; }
597
601 inline ObjectHandle_t GetID() const { return m_eID; }
602
606 virtual eC_Bool FocusAny() { return RequestFocus(); }
607
618 virtual eC_Bool FocusNext(
619 CGUIObject* const pRefObj = NULL,
620 const eC_Bool &bSubTreeOfRefObjDone = false);
621
632 virtual eC_Bool FocusPrevious(
633 CGUIObject* const pRefObj = NULL,
634 const eC_Bool &bSubTreeOfRefObjDone = false);
635
640 virtual eC_Bool DoDraw();
641
645 virtual eC_Bool DoDrawSnapshot();
646
652 eC_Bool RequestFocus();
653
661 virtual eC_Bool ClaimFocus();
662
668
686 eC_Bool CalculateInvalidatedRect(CGUIRect& rRect) const;
687
691 inline void SetNeighborRightID(const ObjectHandle_t eNewNeighborRightID)
692 {
693 m_eNeighborRightID = eNewNeighborRightID;
694 }
695
699 inline void SetNeighborLeftID(const ObjectHandle_t eNewNeighborLeftID)
700 {
701 m_eNeighborLeftID = eNewNeighborLeftID;
702 }
703
707 inline void SetNeighborTopID(const ObjectHandle_t eNewNeighborTopID)
708 {
709 m_eNeighborTopID = eNewNeighborTopID;
710 }
711
715 inline void SetNeighborBottomID(const ObjectHandle_t eNewNeighborBottomID)
716 {
717 m_eNeighborBottomID = eNewNeighborBottomID;
718 }
719
726 inline void SetNeighborIDs(
727 const ObjectHandle_t eNewNeighborLeftID,
728 const ObjectHandle_t eNewNeighborRightID,
729 const ObjectHandle_t eNewNeighborTopID,
730 const ObjectHandle_t eNewNeighborBottomID)
731 {
732 m_eNeighborLeftID = eNewNeighborLeftID;
733 m_eNeighborRightID = eNewNeighborRightID;
734 m_eNeighborTopID = eNewNeighborTopID;
735 m_eNeighborBottomID = eNewNeighborBottomID;
736 }
737
741 inline ObjectHandle_t GetNeighborRightID() const { return m_eNeighborRightID; }
742
746 inline ObjectHandle_t GetNeighborLeftID() const { return m_eNeighborLeftID; }
747
751 inline ObjectHandle_t GetNeighborTopID() const { return m_eNeighborTopID; }
752
756 inline ObjectHandle_t GetNeighborBottomID() const { return m_eNeighborBottomID; }
757
764
769 {
770 return m_pkBehaviour;
771 }
772
777 {
778 return m_pkBehaviour;
779 }
780
786 void SetLayouter(CGUILayouter *pLayouter);
787
792 {
793 return m_pkLayouter;
794 }
795
799 inline const CGUILayouter* GetLayouter() const
800 {
801 return m_pkLayouter;
802 }
803
808 virtual void RefreshLayout(CGUILayouter::eMovedEdges_t eMovedEdges) const;
809
813 virtual void SetGrayedOut(const eC_Bool &bGrayOut);
814
818 virtual void SetInvisible(const eC_Bool &bInvisible);
819
825 virtual void SetDisabled(const eC_Bool &bDisabled);
826
830 virtual void SetFocussable(const eC_Bool &bFocussable);
831
837 inline void SetStopFocus(const eC_Bool &bDontFocusToParent)
838 {
839 m_bStopFocus = bDontFocusToParent;
840 }
841
851 inline void SetClickThrough(const eC_Bool &bClickThrough)
852 {
853 m_bClickThrough = bClickThrough;
854 }
855
860 eC_Bool IsFocussable() const;
861
873 virtual eC_Bool IsHighlightable() const;
874
879 eC_Bool IsDragable() const;
880
886 eC_Bool IsClickable() const;
887
891 eC_Bool IsFocussed() const;
892
896 eC_Bool IsHighlighted() const;
897
901 eC_Bool IsPressed() const;
902
906 eC_Bool IsDragged() const;
907
914 inline eC_Bool IsGrayedOut() const { return m_bIsGrayedOut; }
915
920 inline eC_Bool IsInvisible() const { return m_bIsInvisible; }
921
927 inline eC_Bool IsDisabled() const { return m_bIsDisabled; }
928
932 inline eC_Bool IsClickThrough() const
933 {
934 return m_bClickThrough;
935 }
936
942 inline eC_Bool IsStopFocus() const { return m_bStopFocus; }
943
949 virtual eC_Bool IsCompositeObject() const { return false; }
950
951
954 inline eC_UByte GetAlpha() const { return m_ubAlpha; }
955
958 void SetAlpha(eC_UByte ubAlpha);
959
965 void RenderToBitmap(eC_UInt uiBitmapID, eC_Value vXOffset = eC_FromInt(0), eC_Value vYOffset = eC_FromInt(0));
966
972 virtual void CreateSnapshot(eC_UInt uiBackColor = 0x00);
973
978
982 GUIBitmapPlaneID_t GetBitmapID() const;
983
988
992 virtual void EnableSnapshotDrawing();
993
998 virtual void DisableSnapshotDrawing(eC_Bool bDeleteSnapshot = true);
999
1003 inline eC_Bool IsDrawingSnapshot() const { return m_bDrawSnapshot; }
1004
1012 {
1013 GetDataPoolConnector().AddObserver(pkObserver);
1014 }
1015
1020 {
1021 if (m_pkDataPoolConnector)
1022 m_pkDataPoolConnector->RemoveObserver(pkObserver);
1023 }
1024
1030 void NotifyValueObservers(const CGUIValue& kValue, const eC_UInt uiX = 0, const eC_UInt uiY = 0)
1031 {
1032 if (m_pkDataPoolConnector)
1033 m_pkDataPoolConnector->NotifyObservers(kValue, this, uiX, uiY);
1034 }
1035
1039
1044 {
1045 return (m_pkDataPoolConnector != NULL);
1046 }
1047
1059 virtual eC_Bool SetValue(const CGUIValue& rkValue)
1060 {
1061 NotifyValueObservers(rkValue);
1062 // Default returns false to notify caller that the value could not be interpreted by this control
1063 return false;
1064 }
1065
1066#ifndef GUILIANI_NO_DATAPOOL
1072 virtual eC_Bool SetValue(CDataPoolEntry& rkValue)
1073 {
1074 return SetValue(rkValue.Get());
1075 }
1076#endif
1077
1078#ifdef GUILIANI_STREAM_GUI
1084 virtual void ReadFromStream();
1085#endif
1086
1087#ifdef GUILIANI_WRITE_GUI
1095 virtual void WriteToStream(const eC_Bool bWriteClassID = false);
1096#endif
1097
1098protected:
1109 virtual eC_Bool FourWayNext(FourWayFocus_t eFocusDirection);
1110
1120 virtual eC_Bool CreateBitmapPlane();
1121
1122private:
1127 void SetParentInternal(CGUICompositeObject* const pkParent);
1128
1135 virtual void HandleDraw(const CGUIRect &ClipRect);
1136
1141 void UpdateInvalidation();
1142
1154 virtual eC_Bool FocusNextDown();
1155
1167 virtual eC_Bool FocusPreviousDown();
1168
1171 void Init(
1172 CGUICompositeObject* const pkParent,
1173 const CGUIRect &kRect,
1174 const ObjectHandle_t &eID);
1175
1179 eC_Bool IsInSector(FourWayFocus_t eFocusDirection) const;
1180
1185 void NotifyOfCreation();
1186
1190 eC_Value m_vXPosRel, m_vYPosRel;
1191
1193 eC_Value m_vWidth, m_vHeight;
1194
1196 CGUICompositeObject* m_pkParentObject;
1197
1199 CGUIBehaviourDecorator* m_pkBehaviour;
1200
1202 CGUILayouter* m_pkLayouter;
1203
1205 ObjectHandle_t m_eID;
1206
1208 ObjectHandle_t m_eNeighborRightID;
1209
1211 ObjectHandle_t m_eNeighborLeftID;
1212
1214 ObjectHandle_t m_eNeighborBottomID;
1215
1217 ObjectHandle_t m_eNeighborTopID;
1218
1231 static const CGUIObject* ms_pkFocusTerminatingObj;
1232
1239 static const CGUIObject* ms_pkFirstRequestedObj;
1240
1245 eC_Value m_vWidthVisible, m_vHeightVisible;
1246
1251 eC_Value m_vXPosRelVisible, m_vYPosRelVisible;
1252
1268 eC_Value m_vXPosAbsParent, m_vYPosAbsParent;
1269
1275 eC_Bool m_bStopFocus;
1276
1279 eC_Bool m_bClickThrough;
1280
1284 eC_Bool m_bIsFocussable;
1285
1287 eC_Bool m_bIsGrayedOut;
1288
1290 eC_Bool m_bIsInvisible;
1291
1294 eC_Bool m_bIsDisabled;
1295
1301 eC_Bool m_bMarkedForInvalidation;
1302
1305 eC_Bool m_bDrawSnapshot;
1306
1308 GUIBitmapPlaneID_t m_uiBitmapID;
1309
1311 eC_UByte m_ubAlpha;
1312
1314 CDataPoolConnector* m_pkDataPoolConnector;
1315};
1316#endif
Helper Macros in Guiliani
ObjectHandle_t
List of object resource ids.
Definition: GUIObjectHandleResource.h:55
Connects a GUIObject to the DataPool. DataPoolConnectors are used to observe values within the DataPo...
Definition: GUIDataPool.h:58
A single entry in the DataPool. The DataPoolEntry class represents a single entry (unique id + a valu...
Definition: GUIDataPool.h:108
virtual const CGUIValue & Get(const eC_UInt uiX=0, const eC_UInt uiY=0)
Base interface for animation callbacks.
Definition: GUIAnimatable.h:51
GUIBehaviourDecorator base class.
Definition: GUIBehaviourDecorator.h:78
CGUIBehaviour base class.
Definition: GUIBehaviour.h:68
The bitmap plane base class.
Definition: GUIBitmapPlane.h:152
This is the Guiliani base class for all composite objects.
Definition: GUICompositeObject.h:70
virtual void HandleDraw(const CGUIRect &ClipRect)
GUI base class for any Guiliani application.
Definition: GUI.h:47
Definition: GUILayouter.h:57
eMovedEdges_t
Enumerate possible reasons for calling layout,.
Definition: GUILayouter.h:61
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:79
virtual void EnableSnapshotDrawing()
CGUIRect GetCurrentAbsRect() const
virtual eC_Bool FocusNext(CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false)
ObjectHandle_t GetNeighborLeftID() const
Definition: GUIObject.h:746
eC_Bool IsGrayedOut() const
Definition: GUIObject.h:914
void SetNeighborIDs(const ObjectHandle_t eNewNeighborLeftID, const ObjectHandle_t eNewNeighborRightID, const ObjectHandle_t eNewNeighborTopID, const ObjectHandle_t eNewNeighborBottomID)
Definition: GUIObject.h:726
eC_Value GetCurrentAbsYPos() const
eC_Value GetAbsXPosCenter() const
Definition: GUIObject.h:444
void SetNeighborRightID(const ObjectHandle_t eNewNeighborRightID)
Definition: GUIObject.h:691
eC_Value GetRelYPos() const
Definition: GUIObject.h:342
static const eC_Char XMLTAG_CONTROLCLASSID[]
XML tag to be used when writing a control class ID into a stream.
Definition: GUIObject.h:92
void SetLayouter(CGUILayouter *pLayouter)
eC_Bool RequestFocus()
ObjectHandle_t GetID() const
Definition: GUIObject.h:601
eC_Value GetRelYPosBEdge() const
Definition: GUIObject.h:356
eC_Value GetRelXPos() const
Definition: GUIObject.h:336
static const eC_Char XMLTAG_FOCUSSABLE[]
XML tag to be used writing focussable-state into a stream.
Definition: GUIObject.h:113
const CGUILayouter * GetLayouter() const
Definition: GUIObject.h:799
eC_Bool DataPoolConnectorExists() const
Definition: GUIObject.h:1043
eC_Bool IsFocussable() const
eC_Bool IsHighlighted() const
const CGUICompositeObject * GetParent() const
Definition: GUIObject.h:543
eC_Value GetCurrentAbsYPosCenter() const
Definition: GUIObject.h:518
eC_Bool IsFocussed() const
eC_Value GetCurrentAbsXPosCenter() const
Definition: GUIObject.h:510
const CGUIBehaviourDecorator * GetBehaviour() const
Definition: GUIObject.h:776
void SetStopFocus(const eC_Bool &bDontFocusToParent)
Definition: GUIObject.h:837
void SetRelYPosCenter(const eC_Value &vYCenter)
Definition: GUIObject.h:254
CGUILayouter * GetLayouter()
Definition: GUIObject.h:791
virtual void SetGrayedOut(const eC_Bool &bGrayOut)
CGUIObject * GetObjectByID(const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false)
Definition: GUIObject.h:562
CGUIRect GetAbsRect() const
Definition: GUIObject.h:291
virtual void SetWidth(const eC_Value &vX)
eC_Value GetCurrentAbsXPos() const
eC_Value GetAbsYPos() const
Definition: GUIObject.h:419
virtual void ReadFromStream()
CDataPoolConnector & GetDataPoolConnector()
CGUIRect GetRelRect() const
Definition: GUIObject.h:302
eC_Value GetWidth() const
Definition: GUIObject.h:324
ObjectHandle_t GetNeighborBottomID() const
Definition: GUIObject.h:756
void SetNeighborLeftID(const ObjectHandle_t eNewNeighborLeftID)
Definition: GUIObject.h:699
CGUIObject(CGUICompositeObject *const pkParent, const CGUIRect &kRect, const ObjectHandle_t &eID=NO_HANDLE)
virtual eC_Bool IsCompositeObject() const
Definition: GUIObject.h:949
eC_Bool IsDescendantOf(const CGUIObject *const pAncestor) const
static const eC_Char XMLTAG_WIDTH[]
XML tag to be used writing width into a stream.
Definition: GUIObject.h:104
void RemoveValueObserver(CGUIObserver *pkObserver)
Definition: GUIObject.h:1019
static const eC_Char XMLTAG_DISABLED[]
XML tag to be used writing disabled-state into a stream.
Definition: GUIObject.h:122
virtual eC_Bool CreateBitmapPlane()
eC_Bool IsDrawingSnapshot() const
Definition: GUIObject.h:1003
virtual eC_Bool DoDrawSnapshot()
eC_UByte GetAlpha() const
Definition: GUIObject.h:954
void NotifyValueObservers(const CGUIValue &kValue, const eC_UInt uiX=0, const eC_UInt uiY=0)
Definition: GUIObject.h:1030
eC_Bool IsDragable() const
eC_Bool IsDragged() const
eC_Bool IsClickThrough() const
Definition: GUIObject.h:932
eC_Value GetAbsYPosBEdge() const
Definition: GUIObject.h:384
virtual void SetRelYPos(const eC_Value &vY)
void SetClickThrough(const eC_Bool &bClickThrough)
Definition: GUIObject.h:851
CGUIRect GetOriginRect() const
Definition: GUIObject.h:313
virtual eC_Bool SetValue(CDataPoolEntry &rkValue)
Definition: GUIObject.h:1072
eC_Value GetHalfWidth() const
Definition: GUIObject.h:429
virtual CGUIObject * FindObject(const eC_Value &vAbsX, const eC_Value &vAbsY)
eC_Bool IsInvisible() const
Definition: GUIObject.h:920
eC_Value GetCurrentAbsYPosBEdge() const
Definition: GUIObject.h:490
GUIBitmapPlaneID_t GetBitmapID() const
virtual eC_Bool SetValue(const CGUIValue &rkValue)
Definition: GUIObject.h:1059
static const eC_Char XMLTAG_ALPHA[]
XML tag to be used writing alpha-value into a stream.
Definition: GUIObject.h:128
virtual eC_Bool ClaimFocus()
virtual eC_Bool IsHighlightable() const
virtual eC_Bool FourWayNext(FourWayFocus_t eFocusDirection)
static const eC_Char XMLTAG_YPOS[]
XML tag to be used writing y-position into a stream.
Definition: GUIObject.h:101
eC_Value GetHalfHeight() const
Definition: GUIObject.h:439
static const eC_Char XMLTAG_INVISIBLE[]
XML tag to be used writing invisible-state into a stream.
Definition: GUIObject.h:116
eC_Bool IsDisabled() const
Definition: GUIObject.h:927
virtual eC_Bool DoDraw()
virtual void SetInvisible(const eC_Bool &bInvisible)
eC_Bool IsPressed() const
void SetNeighborTopID(const ObjectHandle_t eNewNeighborTopID)
Definition: GUIObject.h:707
eC_Value GetDistanceRight() const
eC_Value GetRelYPosCenter() const
Definition: GUIObject.h:434
static const eC_Char XMLTAG_XPOS[]
XML tag to be used writing x-position into a stream.
Definition: GUIObject.h:98
virtual void DisableSnapshotDrawing(eC_Bool bDeleteSnapshot=true)
void SetRelYPosBEdge(const eC_Value &vY)
Definition: GUIObject.h:236
virtual void SetFocussable(const eC_Bool &bFocussable)
FourWayFocus_t
Definition: GUIObject.h:136
virtual void SetHeight(const eC_Value &vY)
void SetRelRect(const CGUIRect &kNewRect)
Definition: GUIObject.h:202
CGUIObject & operator=(const CGUIObject &kSource)
eC_Value GetAbsXPosREdge() const
Definition: GUIObject.h:370
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
void SetNeighborBottomID(const ObjectHandle_t eNewNeighborBottomID)
Definition: GUIObject.h:715
static const eC_Char XMLTAG_OVERRIDDENNEIGHBORS[]
XML tag to be used writing overridden neighbors into a stream.
Definition: GUIObject.h:95
eC_Value GetHeight() const
Definition: GUIObject.h:330
ObjectHandle_t GetNeighborTopID() const
Definition: GUIObject.h:751
CGUIBitmapPlane & GetBitmapPlane() const
void RenderToBitmap(eC_UInt uiBitmapID, eC_Value vXOffset=eC_FromInt(0), eC_Value vYOffset=eC_FromInt(0))
virtual void RefreshLayout(CGUILayouter::eMovedEdges_t eMovedEdges) const
void SetID(const ObjectHandle_t &eID)
Definition: GUIObject.h:596
void InvalidateArea()
static const eC_Char XMLTAG_HEIGHT[]
XML tag to be used writing height into a stream.
Definition: GUIObject.h:107
CGUICompositeObject * GetParent()
Definition: GUIObject.h:534
virtual ~CGUIObject()
eC_Value GetRelXPosREdge() const
Definition: GUIObject.h:349
void SetRelXPosREdge(const eC_Value &vX)
Definition: GUIObject.h:227
eC_Bool IsClickable() const
static const eC_Char XMLTAG_OBJECTID[]
XML tag to be used writing object id into a stream.
Definition: GUIObject.h:110
eC_Value GetCurrentAbsXPosREdge() const
Definition: GUIObject.h:478
virtual eC_Bool FocusPrevious(CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false)
virtual eC_Bool FocusAny()
Definition: GUIObject.h:606
eC_Value GetAbsYPosCenter() const
Definition: GUIObject.h:449
CGUIObject(CGUICompositeObject *const pkParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const ObjectHandle_t &eID=NO_HANDLE)
static const eC_Char XMLTAG_GRAYEDOUT[]
XML tag to be used writing grayedout-state into a stream.
Definition: GUIObject.h:119
eC_Value GetRelXPosCenter() const
Definition: GUIObject.h:424
virtual void CreateSnapshot(eC_UInt uiBackColor=0x00)
void SetBehaviour(CGUIBehaviourDecorator *pkBehaviour)
ObjectHandle_t GetNeighborRightID() const
Definition: GUIObject.h:741
eC_Value GetAbsXPos() const
Definition: GUIObject.h:413
virtual void SetRelXPos(const eC_Value &vX)
void SetAlpha(eC_UByte ubAlpha)
static const eC_Char XMLTAG_CLICKTHROUGH[]
XML tag to be used writing clickthrough-state into a stream.
Definition: GUIObject.h:125
const CGUIObject * GetObjectByID(const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false) const
eC_Bool IsStopFocus() const
Definition: GUIObject.h:942
eC_Value GetDistanceBottom() const
virtual void SetParent(CGUICompositeObject *const pkParent)
CGUIBehaviourDecorator * GetBehaviour()
Definition: GUIObject.h:768
void DeleteSnapshot()
CGUIObject(const CGUIObject &kSource)
void SetRelXPosCenter(const eC_Value &vXCenter)
Definition: GUIObject.h:245
eC_Bool CalculateInvalidatedRect(CGUIRect &rRect) const
virtual void SetDisabled(const eC_Bool &bDisabled)
Observer Base class for Observer-Design-Pattern within Guiliani.
Definition: GUIObserver.h:28
Helper class to supply a platform independent rectangle implementation.
Definition: GUIRect.h:63
eC_Value GetX1() const
Definition: GUIRect.h:196
eC_Value GetY1() const
Definition: GUIRect.h:197
eC_Value GetWidth() const
Definition: GUIRect.h:164
eC_Value GetHeight() const
Definition: GUIRect.h:175
void RemoveObserver(CGUIObserver *pObserver)
void AddObserver(CGUIObserver *pObserver)
void NotifyObservers()
CGUIValue stores a single value in one specific type.
Definition: GUIValue.h:25
void AddValueObserver(CGUIObserver *pkObserver)
Definition: GUIObject.h:1011