Guiliani  Version 2.5 revision 7293 (documentation build 13)
GUISplitContainer.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 GUISPLITCONTAINER__H_
11#define GUISPLITCONTAINER__H_
12
13#include "GUICompositeObject.h"
14#include "GUICommonEnums.h"
15#include "GUIColorPropertyObserver.h"
16
17#include "GUIImageResource.h"
18
28{
29public:
34
44 CGUICompositeObject* const pkParent,
45 const eC_Value& vX,
46 const eC_Value& vY,
47 const eC_Value& vWidth,
48 const eC_Value& vHeight,
49 const ObjectHandle_t &eID = NO_HANDLE);
50
57 CGUICompositeObject* const pkParent,
58 const CGUIRect& kRect,
59 const ObjectHandle_t &eID = NO_HANDLE);
60
63
64#ifdef GUILIANI_STREAM_GUI
65 virtual void ReadFromStream();
66#endif // GUILIANI_STREAM_GUI
67
68#ifdef GUILIANI_WRITE_GUI
69 virtual void WriteToStream(const eC_Bool bWriteClassID = false);
70#endif // GUILIANI_WRITE_GUI
71
72 virtual eC_Bool AddObject(CGUIObject* pkObject);
73
74 virtual void RemoveObject(CGUIObject* pkObject);
75
76 virtual void SetWidth(const eC_Value& vX);
77
78 virtual void SetHeight(const eC_Value& vY);
79
80 virtual eC_Bool DoMouseEnter(const eC_Value& vAbsX, const eC_Value& vAbsY);
81 virtual eC_Bool DoMouseLeave(const eC_Value& vAbsX, const eC_Value& vAbsY);
82 virtual eC_Bool DoMouseMove(const eC_Value& vAbsX, const eC_Value& vAbsY);
83 virtual eC_Bool DoButtonDown(const eC_Value& vAbsX, const eC_Value& vAbsY);
84 virtual eC_Bool DoButtonUp(const eC_Value& vAbsX, const eC_Value& vAbsY);
85 virtual eC_Bool DoDrag(const eC_Value& vDeltaX, const eC_Value& vDeltaY, const eC_Value& vAbsX, const eC_Value& vAbsY);
86 virtual eC_Bool DoDragEnd(const eC_Value& vAbsX, const eC_Value& vAbsY);
87 virtual eC_Bool DoDoubleClick(const eC_Value& vAbsX, const eC_Value& vAbsY);
88
89 virtual eC_Bool DoPostDraw();
90
95
100 void SetHandleSize(const eC_Value& vSize);
101
106 eC_Value GetHandleSize();
107
113
119
124 void SetHandlePosition(const eC_Value& vPosition);
125
131
138 void SetHandleImage(const ImageResource_t& eImage, const ImageResource_t& eImageHighlighted);
139
145 void GetHandleImage(ImageResource_t& eImage, ImageResource_t& eImageHighlighted) const;
146
152 void SetHandleColor(const eC_UInt& uiColor, const eC_UInt& uiColorHighlighted);
153
159 void SetHandleColor(const GlobalProperty_t& eColor, const GlobalProperty_t& eColorHighlighted);
160
166 void GetHandleColor(eC_UInt& uiColor, eC_UInt& uiColorHighlighted) const;
167
172 void SetHandleEnlarge(const eC_UInt& uiHandleEnlarge);
173
178 eC_UInt GetHandleEnlarge() const;
179
180private:
182 void Init();
183
184 void DeInit();
185
188 void AdjustContainers();
189
195 void SetHandlePosition(const eC_Value& vAbsX, const eC_Value& vAbsY);
196
197private:
198 static const eC_UInt INDEX_COLOR;
199 static const eC_UInt INDEX_COLORHIGHLIGHTED;
200
201 CGUICommonEnums::Orientation_t m_eSplitterOrientation;
202 eC_Value m_vSplitterPosition;
203 eC_Value m_vSplitterSize;
204 ImageResource_t m_eSplitterImage;
205 ImageResource_t m_eSplitterImageH;
206 eC_UInt m_uiSplitterEnlarge;
207
208 CGUIObject* m_pkContainer1;
209 CGUIObject* m_pkContainer2;
210 CGUIRect m_kSplitterRect;
211 eC_Bool m_bInsideHandle;
212 eC_Bool m_bDragging;
213};
214
215#endif
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
GlobalProperty_t
List of property resource ids.
Definition: GUIPropertyResource.h:67
This observer provides the base-interface for controls when using color-properties.
Definition: GUIColorPropertyObserver.h:23
Orientation_t
orientation of controls
Definition: GUICommonEnums.h:57
This is the Guiliani base class for all composite objects.
Definition: GUICompositeObject.h:70
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:79
Helper class to supply a platform independent rectangle implementation.
Definition: GUIRect.h:63
Definition: GUISplitContainer.h:28
virtual void RemoveObject(CGUIObject *pkObject)
virtual eC_Bool DoMouseEnter(const eC_Value &vAbsX, const eC_Value &vAbsY)
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
virtual eC_Bool DoPostDraw()
virtual void SetWidth(const eC_Value &vX)
virtual eC_Bool DoDoubleClick(const eC_Value &vAbsX, const eC_Value &vAbsY)
virtual eC_Bool AddObject(CGUIObject *pkObject)
virtual eC_Bool DoDrag(const eC_Value &vDeltaX, const eC_Value &vDeltaY, const eC_Value &vAbsX, const eC_Value &vAbsY)
eC_UInt GetHandleEnlarge() const
virtual eC_Bool DoDragEnd(const eC_Value &vAbsX, const eC_Value &vAbsY)
virtual eC_Bool DoButtonUp(const eC_Value &vAbsX, const eC_Value &vAbsY)
void GetHandleImage(ImageResource_t &eImage, ImageResource_t &eImageHighlighted) const
void SetHandleColor(const eC_UInt &uiColor, const eC_UInt &uiColorHighlighted)
void GetHandleColor(eC_UInt &uiColor, eC_UInt &uiColorHighlighted) const
eC_Value GetHandlePosition()
void SetHandleImage(const ImageResource_t &eImage, const ImageResource_t &eImageHighlighted)
CGUISplitContainer(CGUICompositeObject *const pkParent, const CGUIRect &kRect, const ObjectHandle_t &eID=NO_HANDLE)
eC_Value GetHandleSize()
void SetHandleOrientation(const CGUICommonEnums::Orientation_t &eOrientation)
void SetHandleSize(const eC_Value &vSize)
void SetHandleEnlarge(const eC_UInt &uiHandleEnlarge)
virtual eC_Bool DoMouseLeave(const eC_Value &vAbsX, const eC_Value &vAbsY)
virtual void ReadFromStream()
virtual eC_Bool DoMouseMove(const eC_Value &vAbsX, const eC_Value &vAbsY)
CGUISplitContainer(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)
virtual void SetHeight(const eC_Value &vY)
void CenterSplitterHandle()
virtual eC_Bool DoButtonDown(const eC_Value &vAbsX, const eC_Value &vAbsY)
CGUICommonEnums::Orientation_t GetHandleOrientation()
void SetHandleColor(const GlobalProperty_t &eColor, const GlobalProperty_t &eColorHighlighted)
void SetHandlePosition(const eC_Value &vPosition)
virtual ~CGUISplitContainer()
This destructor is automatically virtual, as the base class destructor is virtual.