Guiliani  Version 2.6 revision 7293 (documentation build 12)
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
21#include "GUIStreamTypes.h"
22
23class CGUI;
25class CGUILayouter;
27
49
81{
88 friend class CGUICompositeObject;
89 friend class CGUI;
90
91public:
92#if defined(GUILIANI_STREAM_GUI) || defined(GUILIANI_WRITE_GUI)
94 static const eC_Char XMLTAG_CONTROLCLASSID[];
95
97 static const eC_Char XMLTAG_UUID[];
98
100 static const eC_Char XMLTAG_OVERRIDDENNEIGHBORS[];
101
103 static const eC_Char XMLTAG_XPOS[];
104
106 static const eC_Char XMLTAG_YPOS[];
107
109 static const eC_Char XMLTAG_WIDTH[];
110
112 static const eC_Char XMLTAG_HEIGHT[];
113
115 static const eC_Char XMLTAG_OBJECTID[];
116
118 static const eC_Char XMLTAG_FOCUSSABLE[];
119
121 static const eC_Char XMLTAG_INVISIBLE[];
122
124 static const eC_Char XMLTAG_GRAYEDOUT[];
125
127 static const eC_Char XMLTAG_DISABLED[];
128
130 static const eC_Char XMLTAG_CLICKTHROUGH[];
131
133 static const eC_Char XMLTAG_ALPHA[];
134#endif
135
136public:
141 {
142 FOCUS_LEFT,
143 FOCUS_RIGHT,
144 FOCUS_UP,
145 FOCUS_DOWN
146 };
147
157 CGUICompositeObject* const pkParent,
158 const eC_Value& vX, const eC_Value& vY,
159 const eC_Value& vWidth, const eC_Value& vHeight,
160 const ObjectHandle_t &eID = NO_HANDLE);
161
168 CGUICompositeObject* const pkParent,
169 const CGUIRect &kRect,
170 const ObjectHandle_t &eID = NO_HANDLE);
171
180
185 CGUIObject(const CGUIObject& kSource);
186
193
200 virtual ~CGUIObject();
201
207 inline void SetRelRect(const CGUIRect& kNewRect)
208 {
209 SetRelXPos(kNewRect.GetX1());
210 SetRelYPos(kNewRect.GetY1());
211 SetWidth(kNewRect.GetWidth());
212 SetHeight(kNewRect.GetHeight());
213 }
214
218 virtual void SetRelXPos(const eC_Value& vX);
219
223 virtual void SetRelYPos(const eC_Value& vY);
224
232 inline void SetRelXPosREdge(const eC_Value& vX) { SetRelXPos(vX - m_vWidth); }
233
241 inline void SetRelYPosBEdge(const eC_Value& vY) { SetRelYPos(vY - m_vHeight); }
242
250 inline void SetRelXPosCenter(const eC_Value& vXCenter) { SetRelXPos(vXCenter - GetHalfWidth()); }
251
259 inline void SetRelYPosCenter(const eC_Value& vYCenter) { SetRelYPos(vYCenter - GetHalfHeight()); }
260
264 virtual void SetWidth(const eC_Value& vX);
265
269 virtual void SetHeight(const eC_Value& vY);
270
276 eC_Value GetDistanceRight() const;
277
283 eC_Value GetDistanceBottom() const;
284
296 inline CGUIRect GetAbsRect() const
297 {
298 return CGUIRect(
301 }
302
307 inline CGUIRect GetRelRect() const
308 {
309 return CGUIRect(
312 }
313
318 inline CGUIRect GetOriginRect() const
319 {
320 return CGUIRect(
321 eC_FromInt(0), eC_FromInt(0),
322 GetWidth(), GetHeight());
323 }
324
329 inline eC_Value GetWidth() const { return m_vWidth; }
330
335 inline eC_Value GetHeight() const { return m_vHeight; }
336
341 inline eC_Value GetRelXPos() const { return m_vXPosRel; }
342
347 inline eC_Value GetRelYPos() const { return m_vYPosRel; }
348
354 inline eC_Value GetRelXPosREdge() const { return m_vXPosRel + m_vWidth; }
355
361 inline eC_Value GetRelYPosBEdge() const { return m_vYPosRel + m_vHeight; }
362
375 inline eC_Value GetAbsXPosREdge() const { return GetAbsXPos() + m_vWidthVisible; }
376
389 inline eC_Value GetAbsYPosBEdge() const { return GetAbsYPos() + m_vHeightVisible; }
390
418 inline eC_Value GetAbsXPos() const { return m_vXPosAbsParent + m_vXPosRelVisible; }
419
424 inline eC_Value GetAbsYPos() const { return m_vYPosAbsParent + m_vYPosRelVisible; }
425
429 inline eC_Value GetRelXPosCenter() const { return GetRelXPos() + GetHalfWidth(); }
430
434 inline eC_Value GetHalfWidth() const { return eC_Div(m_vWidth, eC_FromInt(2)); }
435
439 inline eC_Value GetRelYPosCenter() const { return GetRelYPos() + GetHalfHeight(); }
440
444 inline eC_Value GetHalfHeight() const { return eC_Div(m_vHeight, eC_FromInt(2)); }
445
449 inline eC_Value GetAbsXPosCenter() const { return GetAbsXPos() + eC_Div(m_vWidthVisible, eC_FromInt(2)); }
450
454 inline eC_Value GetAbsYPosCenter() const { return GetAbsYPos() + eC_Div(m_vHeightVisible, eC_FromInt(2)); }
455
464 eC_Value GetCurrentAbsXPos() const;
465
474 eC_Value GetCurrentAbsYPos() const;
475
483 inline eC_Value GetCurrentAbsXPosREdge() const
484 {
485 return GetCurrentAbsXPos() + GetWidth();
486 }
487
495 inline eC_Value GetCurrentAbsYPosBEdge() const
496 {
497 return GetCurrentAbsYPos() + GetHeight();
498 }
499
508
515 inline eC_Value GetCurrentAbsXPosCenter() const { return GetCurrentAbsXPos() + GetHalfWidth(); }
516
523 inline eC_Value GetCurrentAbsYPosCenter() const { return GetCurrentAbsYPos() + GetHalfHeight(); }
524
530 virtual void SetParent(CGUICompositeObject* const pkParent);
531
539 inline CGUICompositeObject * GetParent() { return m_pkParentObject; }
540
548 inline const CGUICompositeObject * GetParent() const { return m_pkParentObject; }
549
555 eC_Bool IsDescendantOf(const CGUIObject* const pAncestor) const;
556
567 inline CGUIObject* GetObjectByID(const ObjectHandle_t &eID, const eC_Bool& bOnlyVisible = false)
568 {
569 // Call the const-GetObjectByID function, which is the real implementation.
570 return const_cast<CGUIObject*>(static_cast<const CGUIObject*const>(this)->GetObjectByID(eID, bOnlyVisible));
571 }
572
582 const CGUIObject* GetObjectByID(const ObjectHandle_t &eID, const eC_Bool& bOnlyVisible = false) const;
583
596 virtual CGUIObject *FindObject(const eC_Value& vAbsX, const eC_Value& vAbsY);
597
601 inline void SetID(const ObjectHandle_t &eID) { m_eID = eID; }
602
606 inline ObjectHandle_t GetID() const { return m_eID; }
607
611 virtual eC_Bool FocusAny() { return RequestFocus(); }
612
623 virtual eC_Bool FocusNext(
624 CGUIObject* const pRefObj = NULL,
625 const eC_Bool &bSubTreeOfRefObjDone = false);
626
637 virtual eC_Bool FocusPrevious(
638 CGUIObject* const pRefObj = NULL,
639 const eC_Bool &bSubTreeOfRefObjDone = false);
640
645 virtual eC_Bool DoDraw();
646
650 virtual eC_Bool DoDrawSnapshot();
651
657 eC_Bool RequestFocus();
658
666 virtual eC_Bool ClaimFocus();
667
673
691 eC_Bool CalculateInvalidatedRect(CGUIRect& rRect) const;
692
696 inline void SetNeighborRightID(const ObjectHandle_t eNewNeighborRightID)
697 {
698 m_eNeighborRightID = eNewNeighborRightID;
699 }
700
704 inline void SetNeighborLeftID(const ObjectHandle_t eNewNeighborLeftID)
705 {
706 m_eNeighborLeftID = eNewNeighborLeftID;
707 }
708
712 inline void SetNeighborTopID(const ObjectHandle_t eNewNeighborTopID)
713 {
714 m_eNeighborTopID = eNewNeighborTopID;
715 }
716
720 inline void SetNeighborBottomID(const ObjectHandle_t eNewNeighborBottomID)
721 {
722 m_eNeighborBottomID = eNewNeighborBottomID;
723 }
724
731 inline void SetNeighborIDs(
732 const ObjectHandle_t eNewNeighborLeftID,
733 const ObjectHandle_t eNewNeighborRightID,
734 const ObjectHandle_t eNewNeighborTopID,
735 const ObjectHandle_t eNewNeighborBottomID)
736 {
737 m_eNeighborLeftID = eNewNeighborLeftID;
738 m_eNeighborRightID = eNewNeighborRightID;
739 m_eNeighborTopID = eNewNeighborTopID;
740 m_eNeighborBottomID = eNewNeighborBottomID;
741 }
742
746 inline ObjectHandle_t GetNeighborRightID() const { return m_eNeighborRightID; }
747
751 inline ObjectHandle_t GetNeighborLeftID() const { return m_eNeighborLeftID; }
752
756 inline ObjectHandle_t GetNeighborTopID() const { return m_eNeighborTopID; }
757
761 inline ObjectHandle_t GetNeighborBottomID() const { return m_eNeighborBottomID; }
762
769
774 {
775 return m_pkBehaviour;
776 }
777
782 {
783 return m_pkBehaviour;
784 }
785
791 void SetLayouter(CGUILayouter *pLayouter);
792
797 {
798 return m_pkLayouter;
799 }
800
804 inline const CGUILayouter* GetLayouter() const
805 {
806 return m_pkLayouter;
807 }
808
813 virtual void RefreshLayout(CGUILayouter::eMovedEdges_t eMovedEdges) const;
814
818 virtual void SetGrayedOut(const eC_Bool &bGrayOut);
819
823 virtual void SetInvisible(const eC_Bool &bInvisible);
824
830 virtual void SetDisabled(const eC_Bool &bDisabled);
831
835 virtual void SetFocussable(const eC_Bool &bFocussable);
836
842 inline void SetStopFocus(const eC_Bool &bDontFocusToParent)
843 {
844 m_bStopFocus = bDontFocusToParent;
845 }
846
856 inline void SetClickThrough(const eC_Bool &bClickThrough)
857 {
858 m_bClickThrough = bClickThrough;
859 }
860
865 eC_Bool IsFocussable() const;
866
878 virtual eC_Bool IsHighlightable() const;
879
884 eC_Bool IsDragable() const;
885
891 eC_Bool IsClickable() const;
892
896 eC_Bool IsFocussed() const;
897
901 eC_Bool IsHighlighted() const;
902
906 eC_Bool IsPressed() const;
907
911 eC_Bool IsDragged() const;
912
919 inline eC_Bool IsGrayedOut() const { return m_bIsGrayedOut; }
920
925 inline eC_Bool IsInvisible() const { return m_bIsInvisible; }
926
932 inline eC_Bool IsDisabled() const { return m_bIsDisabled; }
933
937 inline eC_Bool IsClickThrough() const
938 {
939 return m_bClickThrough;
940 }
941
947 inline eC_Bool IsStopFocus() const { return m_bStopFocus; }
948
954 virtual eC_Bool IsCompositeObject() const { return false; }
955
956
959 inline eC_UByte GetAlpha() const { return m_ubAlpha; }
960
963 void SetAlpha(eC_UByte ubAlpha);
964
970 void RenderToBitmap(eC_UInt uiBitmapID, eC_Value vXOffset = eC_FromInt(0), eC_Value vYOffset = eC_FromInt(0));
971
977 virtual void CreateSnapshot(eC_UInt uiBackColor = 0x00);
978
983
987 GUIBitmapPlaneID_t GetBitmapID() const;
988
993
997 virtual void EnableSnapshotDrawing();
998
1003 virtual void DisableSnapshotDrawing(eC_Bool bDeleteSnapshot = true);
1004
1008 inline eC_Bool IsDrawingSnapshot() const
1009 {
1010 return m_bDrawSnapshot;
1011 }
1012
1020 {
1021 GetDataPoolConnector().AddObserver(pkObserver);
1022 }
1023
1028 {
1029 if (m_pkDataPoolConnector)
1030 m_pkDataPoolConnector->RemoveObserver(pkObserver);
1031 }
1032
1038 void NotifyValueObservers(const CGUIValue& kValue, const eC_UInt uiX = 0, const eC_UInt uiY = 0)
1039 {
1040 if (m_pkDataPoolConnector)
1041 m_pkDataPoolConnector->NotifyObservers(kValue, this, uiX, uiY);
1042 }
1043
1047
1052 {
1053 return (m_pkDataPoolConnector != NULL);
1054 }
1055
1067 virtual eC_Bool SetValue(const CGUIValue& rkValue)
1068 {
1069 NotifyValueObservers(rkValue);
1070 // Default returns false to notify caller that the value could not be interpreted by this control
1071 return false;
1072 }
1073
1074#ifndef GUILIANI_NO_DATAPOOL
1080 virtual eC_Bool SetValue(CDataPoolEntry& rkValue);
1081#endif
1082
1083#ifdef GUILIANI_STREAM_GUI
1089 virtual void ReadFromStream();
1090#endif
1091
1092#ifdef GUILIANI_WRITE_GUI
1100 virtual void WriteToStream(const eC_Bool bWriteClassID = false);
1101#endif
1102
1106 void SetUUID(const UUID_t& kUUID)
1107 {
1108 m_kUUID = kUUID;
1109 }
1110
1115 {
1116 return m_kUUID;
1117 }
1118
1119protected:
1130 virtual eC_Bool FourWayNext(FourWayFocus_t eFocusDirection);
1131
1141 virtual eC_Bool CreateBitmapPlane();
1142
1143protected:
1146
1147private:
1152 void SetParentInternal(CGUICompositeObject* const pkParent);
1153
1160 virtual void HandleDraw(const CGUIRect &ClipRect);
1161
1166 void UpdateInvalidation();
1167
1179 virtual eC_Bool FocusNextDown();
1180
1192 virtual eC_Bool FocusPreviousDown();
1193
1196 void Init(
1197 CGUICompositeObject* const pkParent,
1198 const CGUIRect &kRect,
1199 const ObjectHandle_t &eID);
1200
1204 eC_Bool IsInSector(FourWayFocus_t eFocusDirection) const;
1205
1210 void NotifyOfCreation();
1211
1215 eC_Value m_vXPosRel, m_vYPosRel;
1216
1218 eC_Value m_vWidth, m_vHeight;
1219
1221 CGUICompositeObject* m_pkParentObject;
1222
1224 CGUIBehaviourDecorator* m_pkBehaviour;
1225
1227 CGUILayouter* m_pkLayouter;
1228
1230 ObjectHandle_t m_eID;
1231
1233 ObjectHandle_t m_eNeighborRightID;
1234
1236 ObjectHandle_t m_eNeighborLeftID;
1237
1239 ObjectHandle_t m_eNeighborBottomID;
1240
1242 ObjectHandle_t m_eNeighborTopID;
1243
1256 static const CGUIObject* ms_pkFocusTerminatingObj;
1257
1264 static const CGUIObject* ms_pkFirstRequestedObj;
1265
1270 eC_Value m_vWidthVisible, m_vHeightVisible;
1271
1276 eC_Value m_vXPosRelVisible, m_vYPosRelVisible;
1277
1293 eC_Value m_vXPosAbsParent, m_vYPosAbsParent;
1294
1300 eC_Bool m_bStopFocus;
1301
1304 eC_Bool m_bClickThrough;
1305
1309 eC_Bool m_bIsFocussable;
1310
1312 eC_Bool m_bIsGrayedOut;
1313
1315 eC_Bool m_bIsInvisible;
1316
1319 eC_Bool m_bIsDisabled;
1320
1326 eC_Bool m_bMarkedForInvalidation;
1327
1330 eC_Bool m_bDrawSnapshot;
1331
1333 GUIBitmapPlaneID_t m_uiBitmapID;
1334
1336 eC_UByte m_ubAlpha;
1337
1339 CDataPoolConnector* m_pkDataPoolConnector;
1340};
1341#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
Base interface for animation callbacks.
Definition: GUIAnimatable.h:51
GUIBehaviourDecorator base class.
Definition: GUIBehaviourDecorator.h:78
CGUIBehaviour base class.
Definition: GUIBehaviour.h:73
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:39
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:81
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:751
eC_Bool IsGrayedOut() const
Definition: GUIObject.h:919
void SetNeighborIDs(const ObjectHandle_t eNewNeighborLeftID, const ObjectHandle_t eNewNeighborRightID, const ObjectHandle_t eNewNeighborTopID, const ObjectHandle_t eNewNeighborBottomID)
Definition: GUIObject.h:731
UUID_t GetUUID() const
Definition: GUIObject.h:1114
eC_Value GetCurrentAbsYPos() const
eC_Value GetAbsXPosCenter() const
Definition: GUIObject.h:449
void SetNeighborRightID(const ObjectHandle_t eNewNeighborRightID)
Definition: GUIObject.h:696
eC_Value GetRelYPos() const
Definition: GUIObject.h:347
static const eC_Char XMLTAG_CONTROLCLASSID[]
XML tag to be used when writing a control class ID into a stream.
Definition: GUIObject.h:94
void SetLayouter(CGUILayouter *pLayouter)
eC_Bool RequestFocus()
ObjectHandle_t GetID() const
Definition: GUIObject.h:606
eC_Value GetRelYPosBEdge() const
Definition: GUIObject.h:361
eC_Value GetRelXPos() const
Definition: GUIObject.h:341
static const eC_Char XMLTAG_FOCUSSABLE[]
XML tag to be used writing focussable-state into a stream.
Definition: GUIObject.h:118
const CGUILayouter * GetLayouter() const
Definition: GUIObject.h:804
eC_Bool DataPoolConnectorExists() const
Definition: GUIObject.h:1051
eC_Bool IsFocussable() const
eC_Bool IsHighlighted() const
const CGUICompositeObject * GetParent() const
Definition: GUIObject.h:548
eC_Value GetCurrentAbsYPosCenter() const
Definition: GUIObject.h:523
eC_Bool IsFocussed() const
eC_Value GetCurrentAbsXPosCenter() const
Definition: GUIObject.h:515
const CGUIBehaviourDecorator * GetBehaviour() const
Definition: GUIObject.h:781
void SetStopFocus(const eC_Bool &bDontFocusToParent)
Definition: GUIObject.h:842
void SetRelYPosCenter(const eC_Value &vYCenter)
Definition: GUIObject.h:259
CGUILayouter * GetLayouter()
Definition: GUIObject.h:796
virtual void SetGrayedOut(const eC_Bool &bGrayOut)
CGUIObject * GetObjectByID(const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false)
Definition: GUIObject.h:567
CGUIRect GetAbsRect() const
Definition: GUIObject.h:296
virtual void SetWidth(const eC_Value &vX)
eC_Value GetCurrentAbsXPos() const
eC_Value GetAbsYPos() const
Definition: GUIObject.h:424
virtual void ReadFromStream()
CDataPoolConnector & GetDataPoolConnector()
CGUIRect GetRelRect() const
Definition: GUIObject.h:307
eC_Value GetWidth() const
Definition: GUIObject.h:329
ObjectHandle_t GetNeighborBottomID() const
Definition: GUIObject.h:761
void SetNeighborLeftID(const ObjectHandle_t eNewNeighborLeftID)
Definition: GUIObject.h:704
CGUIObject(CGUICompositeObject *const pkParent, const CGUIRect &kRect, const ObjectHandle_t &eID=NO_HANDLE)
virtual eC_Bool IsCompositeObject() const
Definition: GUIObject.h:954
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:109
void RemoveValueObserver(CGUIObserver *pkObserver)
Definition: GUIObject.h:1027
static const eC_Char XMLTAG_DISABLED[]
XML tag to be used writing disabled-state into a stream.
Definition: GUIObject.h:127
virtual eC_Bool CreateBitmapPlane()
eC_Bool IsDrawingSnapshot() const
Definition: GUIObject.h:1008
virtual eC_Bool DoDrawSnapshot()
eC_UByte GetAlpha() const
Definition: GUIObject.h:959
void NotifyValueObservers(const CGUIValue &kValue, const eC_UInt uiX=0, const eC_UInt uiY=0)
Definition: GUIObject.h:1038
eC_Bool IsDragable() const
eC_Bool IsDragged() const
eC_Bool IsClickThrough() const
Definition: GUIObject.h:937
eC_Value GetAbsYPosBEdge() const
Definition: GUIObject.h:389
virtual void SetRelYPos(const eC_Value &vY)
void SetClickThrough(const eC_Bool &bClickThrough)
Definition: GUIObject.h:856
CGUIRect GetOriginRect() const
Definition: GUIObject.h:318
virtual eC_Bool SetValue(CDataPoolEntry &rkValue)
eC_Value GetHalfWidth() const
Definition: GUIObject.h:434
virtual CGUIObject * FindObject(const eC_Value &vAbsX, const eC_Value &vAbsY)
eC_Bool IsInvisible() const
Definition: GUIObject.h:925
eC_Value GetCurrentAbsYPosBEdge() const
Definition: GUIObject.h:495
GUIBitmapPlaneID_t GetBitmapID() const
virtual eC_Bool SetValue(const CGUIValue &rkValue)
Definition: GUIObject.h:1067
static const eC_Char XMLTAG_ALPHA[]
XML tag to be used writing alpha-value into a stream.
Definition: GUIObject.h:133
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:106
eC_Value GetHalfHeight() const
Definition: GUIObject.h:444
static const eC_Char XMLTAG_INVISIBLE[]
XML tag to be used writing invisible-state into a stream.
Definition: GUIObject.h:121
eC_Bool IsDisabled() const
Definition: GUIObject.h:932
virtual eC_Bool DoDraw()
virtual void SetInvisible(const eC_Bool &bInvisible)
eC_Bool IsPressed() const
void SetNeighborTopID(const ObjectHandle_t eNewNeighborTopID)
Definition: GUIObject.h:712
eC_Value GetDistanceRight() const
eC_Value GetRelYPosCenter() const
Definition: GUIObject.h:439
static const eC_Char XMLTAG_XPOS[]
XML tag to be used writing x-position into a stream.
Definition: GUIObject.h:103
virtual void DisableSnapshotDrawing(eC_Bool bDeleteSnapshot=true)
void SetRelYPosBEdge(const eC_Value &vY)
Definition: GUIObject.h:241
virtual void SetFocussable(const eC_Bool &bFocussable)
FourWayFocus_t
Definition: GUIObject.h:141
virtual void SetHeight(const eC_Value &vY)
void SetUUID(const UUID_t &kUUID)
Definition: GUIObject.h:1106
void SetRelRect(const CGUIRect &kNewRect)
Definition: GUIObject.h:207
CGUIObject & operator=(const CGUIObject &kSource)
eC_Value GetAbsXPosREdge() const
Definition: GUIObject.h:375
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
void SetNeighborBottomID(const ObjectHandle_t eNewNeighborBottomID)
Definition: GUIObject.h:720
static const eC_Char XMLTAG_OVERRIDDENNEIGHBORS[]
XML tag to be used writing overridden neighbors into a stream.
Definition: GUIObject.h:100
eC_Value GetHeight() const
Definition: GUIObject.h:335
ObjectHandle_t GetNeighborTopID() const
Definition: GUIObject.h:756
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:601
void InvalidateArea()
static const eC_Char XMLTAG_HEIGHT[]
XML tag to be used writing height into a stream.
Definition: GUIObject.h:112
CGUICompositeObject * GetParent()
Definition: GUIObject.h:539
virtual ~CGUIObject()
static const eC_Char XMLTAG_UUID[]
XML tag to be used when writing a UUID into a stream.
Definition: GUIObject.h:97
eC_Value GetRelXPosREdge() const
Definition: GUIObject.h:354
void SetRelXPosREdge(const eC_Value &vX)
Definition: GUIObject.h:232
UUID_t m_kUUID
UUID of object.
Definition: GUIObject.h:1145
eC_Bool IsClickable() const
static const eC_Char XMLTAG_OBJECTID[]
XML tag to be used writing object id into a stream.
Definition: GUIObject.h:115
eC_Value GetCurrentAbsXPosREdge() const
Definition: GUIObject.h:483
virtual eC_Bool FocusPrevious(CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false)
virtual eC_Bool FocusAny()
Definition: GUIObject.h:611
eC_Value GetAbsYPosCenter() const
Definition: GUIObject.h:454
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:124
eC_Value GetRelXPosCenter() const
Definition: GUIObject.h:429
virtual void CreateSnapshot(eC_UInt uiBackColor=0x00)
void SetBehaviour(CGUIBehaviourDecorator *pkBehaviour)
ObjectHandle_t GetNeighborRightID() const
Definition: GUIObject.h:746
eC_Value GetAbsXPos() const
Definition: GUIObject.h:418
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:130
const CGUIObject * GetObjectByID(const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false) const
eC_Bool IsStopFocus() const
Definition: GUIObject.h:947
eC_Value GetDistanceBottom() const
virtual void SetParent(CGUICompositeObject *const pkParent)
CGUIBehaviourDecorator * GetBehaviour()
Definition: GUIObject.h:773
void DeleteSnapshot()
CGUIObject(const CGUIObject &kSource)
void SetRelXPosCenter(const eC_Value &vXCenter)
Definition: GUIObject.h:250
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:1019
Definition: GUIStreamTypes.h:43