Guiliani  Version 2.6 revision 7293 (documentation build 12)
GUIBaseButton.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 GUIBASEBUTTON__H_
11#define GUIBASEBUTTON__H_
12
13#include "GUIObject.h"
14#include "GUITextResource.h"
15#include "eC_Types.h"
16#include "GUICommand.h"
17
18class CGUI;
19class CGUIText;
20
22
69{
70public:
82 CGUICompositeObject* const pkParent,
83 const eC_Value& vX,
84 const eC_Value& vY,
85 const eC_Value& vWidth,
86 const eC_Value& vHeight,
87 const TextResource_t &eTextID,
88 CGUICommandPtr pkCommandObject,
89 const ObjectHandle_t &eID = NO_HANDLE);
90
99 CGUICompositeObject* const pkParent,
100 const CGUIRect &kRect,
101 const TextResource_t &eTextID,
102 CGUICommandPtr pkCommandObject,
103 const ObjectHandle_t &eID = NO_HANDLE);
104
116 CGUICompositeObject* const pkParent,
117 const eC_Value& vX,
118 const eC_Value& vY,
119 const eC_Value& vWidth,
120 const eC_Value& vHeight,
121 const eC_String& kText,
122 CGUICommandPtr pkCommandObject,
123 const ObjectHandle_t &eID = NO_HANDLE);
124
133 CGUICompositeObject* const pkParent,
134 const CGUIRect &kRect,
135 const eC_String& kText,
136 CGUICommandPtr pkCommandObject,
137 const ObjectHandle_t &eID = NO_HANDLE);
138
143
149
156
157#ifdef GUILIANI_STREAM_GUI
158 virtual void ReadFromStream();
159#endif
160#ifdef GUILIANI_WRITE_GUI
161 virtual void WriteToStream(const eC_Bool bWriteClassID = false);
162#endif
163
165 virtual ~CGUIBaseButton(void);
166
172 virtual eC_Bool SetValue(const CGUIValue& rkValue);
173
174 virtual eC_Bool DoDraw();
175
176 virtual eC_Bool DoButtonDown(const eC_Value& vAbsX = eC_FromInt(-1), const eC_Value& vAbsY = eC_FromInt(-1));
177 virtual eC_Bool DoButtonUp(const eC_Value& vAbsX = eC_FromInt(-1), const eC_Value& vAbsY = eC_FromInt(-1));
178 virtual eC_Bool DoClick(const eC_Value& vAbsX = eC_FromInt(-1), const eC_Value& vAbsY = eC_FromInt(-1));
179
184 inline void SetCommand(CGUICommandPtr pkCommand) { m_pkCommandObject = pkCommand; }
185
191
197
206 void SetLabel(const eC_String& kString);
207
216 void SetLabel(const TextResource_t& eTextID);
217
224 void SetText (CGUIText* pkText);
225
231 virtual void SetWidth(const eC_Value& vNewWidth);
232
238 virtual void SetHeight(const eC_Value& vNewHeight);
239
240protected:
243
246
247private:
251 void CopyAttributes(const CGUIBaseButton& kSource);
252
253 void Init(const TextResource_t &eTextID);
254 void Init(const eC_String& kText);
255
258 void DeInit();
259};
260#endif
ObjectHandle_t
List of object resource ids.
Definition: GUIObjectHandleResource.h:55
Helper Macros in Guiliani
TextResource_t
List of text resource ids.
Definition: GUITextResource.h:40
Base class for button controls.
Definition: GUIBaseButton.h:69
void SetCommand(CGUICommandPtr pkCommand)
Definition: GUIBaseButton.h:184
void SetText(CGUIText *pkText)
CGUICommandPtr m_pkCommandObject
Holds the attached command.
Definition: GUIBaseButton.h:242
virtual void SetWidth(const eC_Value &vNewWidth)
virtual eC_Bool DoButtonDown(const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
virtual eC_Bool DoButtonUp(const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
virtual eC_Bool SetValue(const CGUIValue &rkValue)
virtual ~CGUIBaseButton(void)
void SetLabel(const TextResource_t &eTextID)
CGUIText * GetLabel() const
CGUIBaseButton(CGUICompositeObject *const pkParent, const CGUIRect &kRect, const TextResource_t &eTextID, CGUICommandPtr pkCommandObject, const ObjectHandle_t &eID=NO_HANDLE)
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
CGUIText * m_pkLabel
Holds the label.
Definition: GUIBaseButton.h:245
CGUIBaseButton(CGUICompositeObject *const pkParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const TextResource_t &eTextID, CGUICommandPtr pkCommandObject, const ObjectHandle_t &eID=NO_HANDLE)
CGUIBaseButton(CGUICompositeObject *const pkParent, const CGUIRect &kRect, const eC_String &kText, CGUICommandPtr pkCommandObject, const ObjectHandle_t &eID=NO_HANDLE)
CGUIBaseButton(const CGUIBaseButton &kSource)
CGUICommandPtr GetCommand() const
Definition: GUIBaseButton.h:190
void SetLabel(const eC_String &kString)
CGUIBaseButton(CGUICompositeObject *const pkParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const eC_String &kText, CGUICommandPtr pkCommandObject, const ObjectHandle_t &eID=NO_HANDLE)
virtual void ReadFromStream()
CGUIBaseButton & operator=(const CGUIBaseButton &kSource)
virtual eC_Bool DoDraw()
virtual void SetHeight(const eC_Value &vNewHeight)
virtual eC_Bool DoClick(const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
This is the Guiliani base class for all composite objects.
Definition: GUICompositeObject.h:70
GUI base class for any Guiliani application.
Definition: GUI.h:39
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
Class for handling a text.
Definition: GUIText.h:103
CGUIValue stores a single value in one specific type.
Definition: GUIValue.h:25