Guiliani  Version 2.6 revision 7293 (documentation build 12)
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
79 eC_Bool AddObject(CGUIObject* pkObject, const eC_UInt& uiIndex);
80
81 virtual void RemoveObject(CGUIObject* pkObject);
82
83 virtual void SetWidth(const eC_Value& vX);
84
85 virtual void SetHeight(const eC_Value& vY);
86
87 virtual eC_Bool DoMouseEnter(const eC_Value& vAbsX, const eC_Value& vAbsY);
88 virtual eC_Bool DoMouseLeave(const eC_Value& vAbsX, const eC_Value& vAbsY);
89 virtual eC_Bool DoMouseMove(const eC_Value& vAbsX, const eC_Value& vAbsY);
90 virtual eC_Bool DoButtonDown(const eC_Value& vAbsX, const eC_Value& vAbsY);
91 virtual eC_Bool DoButtonUp(const eC_Value& vAbsX, const eC_Value& vAbsY);
92 virtual eC_Bool DoDrag(const eC_Value& vDeltaX, const eC_Value& vDeltaY, const eC_Value& vAbsX, const eC_Value& vAbsY);
93 virtual eC_Bool DoDragEnd(const eC_Value& vAbsX, const eC_Value& vAbsY);
94 virtual eC_Bool DoDoubleClick(const eC_Value& vAbsX, const eC_Value& vAbsY);
95
96 virtual eC_Bool DoPostDraw();
97
102
107 void SetHandleSize(const eC_Value& vSize);
108
113 eC_Value GetHandleSize();
114
120
126
131 void SetHandlePosition(const eC_Value& vPosition);
132
138
145 void SetHandleImage(const ImageResource_t& eImage, const ImageResource_t& eImageHighlighted);
146
152 void GetHandleImage(ImageResource_t& eImage, ImageResource_t& eImageHighlighted) const;
153
159 void SetHandleColor(const eC_UInt& uiColor, const eC_UInt& uiColorHighlighted);
160
166 void SetHandleColor(const GlobalProperty_t& eColor, const GlobalProperty_t& eColorHighlighted);
167
173 void GetHandleColor(eC_UInt& uiColor, eC_UInt& uiColorHighlighted) const;
174
179 void SetHandleEnlarge(const eC_UInt& uiHandleEnlarge);
180
185 eC_UInt GetHandleEnlarge() const;
186
192 eC_Bool IsInsideSplitter(const eC_Value& vAbsX, const eC_Value& vAbsY) const;
193
194private:
196 void Init();
197
198 void DeInit();
199
202 void AdjustContainers();
203
209 void SetHandlePosition(const eC_Value& vAbsX, const eC_Value& vAbsY);
210
211private:
212 static const eC_UInt INDEX_COLOR;
213 static const eC_UInt INDEX_COLORHIGHLIGHTED;
214
215 CGUICommonEnums::Orientation_t m_eSplitterOrientation;
216 eC_Value m_vSplitterPosition;
217 eC_Value m_vSplitterSize;
218 ImageResource_t m_eSplitterImage;
219 ImageResource_t m_eSplitterImageH;
220 eC_UInt m_uiSplitterEnlarge;
221
222 CGUIObject* m_pkContainer1;
223 CGUIObject* m_pkContainer2;
224 CGUIRect m_kSplitterRect;
225 eC_Bool m_bInsideHandle;
226 eC_Bool m_bDragging;
227};
228
229#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:81
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()
eC_Bool IsInsideSplitter(const eC_Value &vAbsX, const eC_Value &vAbsY) const
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()
eC_Bool AddObject(CGUIObject *pkObject, const eC_UInt &uiIndex)
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.