Guiliani  Version 2.6 revision 7293 (documentation build 12)
GUIIconButton.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 CGUIICONBUTTON__H_
11#define CGUIICONBUTTON__H_
12
13#include "GUIImageResource.h"
14#include "GUIButton.h"
15
16
18// @guiliani_doxygen toplevel_control Icon Button
30// @endguiliani_doxygen
65{
66public:
80 CGUICompositeObject* const pkParent,
81 const eC_Value& vX, const eC_Value& vY,
82 const eC_Value& vWidth,
83 const eC_Value& vHeight,
84 const eC_Value& vXIconPos,
85 const eC_Value& vYIconPos,
86 const eC_String& pkText,
87 CGUICommandPtr pkCommandObject,
88 const ObjectHandle_t &eID = NO_HANDLE);
89
90
101 CGUICompositeObject* const pkParent,
102 const CGUIRect &kRect,
103 const eC_Value& vXIconPos,
104 const eC_Value& vYIconPos,
105 const eC_String& rkText,
106 CGUICommandPtr pkCommandObject,
107 const ObjectHandle_t &eID = NO_HANDLE);
108
122 CGUICompositeObject* const pkParent,
123 const eC_Value& vX, const eC_Value& vY,
124 const eC_Value& vWidth,
125 const eC_Value& vHeight,
126 const eC_Value& vXIconPos,
127 const eC_Value& vYIconPos,
128 const TextResource_t &eTextID,
129 CGUICommandPtr pkCommandObject,
130 const ObjectHandle_t &eID = NO_HANDLE);
131
142 CGUICompositeObject* const pkParent,
143 const CGUIRect &kRect,
144 const eC_Value& vXIconPos,
145 const eC_Value& vYIconPos,
146 const TextResource_t &eTextID,
147 CGUICommandPtr pkCommandObject,
148 const ObjectHandle_t &eID = NO_HANDLE);
149
154
160
161 virtual eC_Bool DoDraw();
162
171 const ImageResource_t eIconNormal,
172 const ImageResource_t eIconPressed,
173 const ImageResource_t eIconHighlighted,
174 const ImageResource_t eIconGrayedOut,
175 const ImageResource_t eIconFocussed);
176
185 ImageResource_t &eIconNormal,
186 ImageResource_t &eIconPressed,
187 ImageResource_t &eIconHighlighted,
188 ImageResource_t &eIconGrayedOut,
189 ImageResource_t &eIconFocussed) const
190 {
191 eIconFocussed = m_eIconFocussed;
192 eIconHighlighted = m_eIconHighlighted;
193 eIconPressed = m_eIconPressed;
194 eIconNormal = m_eIconNormal;
195 eIconGrayedOut = m_eIconGrayedOut;
196 }
197
202 void SetIconPos(const eC_Value& vIconPosX, const eC_Value& vIconPosY);
203
208 void GetIconPos(eC_Value& vIconPosX, eC_Value& vIconPosY) const;
209
214 void SetIconAlpha(const eC_UByte ubIconAlpha)
215 {
216 m_ubIconAlpha = ubIconAlpha;
217 }
218
223 eC_UByte GetIconAlpha()
224 {
225 return m_ubIconAlpha;
226 }
227
230
231#ifdef GUILIANI_STREAM_GUI
233#endif
234protected:
235#ifdef GUILIANI_STREAM_GUI
236 virtual void ReadFromStream();
237#endif
238#ifdef GUILIANI_WRITE_GUI
239 virtual void WriteToStream(const eC_Bool bWriteClassID = false);
240#endif
241
242protected:
246
250
254
258
262
264 eC_Value m_vIconPosX;
265
267 eC_Value m_vIconPosY;
268
271
272private:
274 void Init(ImageResource_t eIconIDNormal = DUMMY_IMAGE,
275 ImageResource_t eIconIDPressed = DUMMY_IMAGE,
276 ImageResource_t eIconIDHighlighted = DUMMY_IMAGE,
277 ImageResource_t eIconIDGrayedOut = DUMMY_IMAGE,
278 ImageResource_t eIconIDFocussed = DUMMY_IMAGE);
279
284 void CopyAttributes(const CGUIIconButton& kSource);
285
287 void DeInit();
288};
289#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
TextResource_t
List of text resource ids.
Definition: GUITextResource.h:40
Button specialization that uses images for graphical representation.
Definition: GUIButton.h:69
This is the Guiliani base class for all composite objects.
Definition: GUICompositeObject.h:70
Button specialization that shows a state-dependent icon.
Definition: GUIIconButton.h:65
CGUIIconButton(CGUICompositeObject *const pkParent, const CGUIRect &kRect, const eC_Value &vXIconPos, const eC_Value &vYIconPos, const eC_String &rkText, CGUICommandPtr pkCommandObject, const ObjectHandle_t &eID=NO_HANDLE)
eC_UByte m_ubIconAlpha
m_ubIconAlpha stores the alpha value which is used for the icon blit in all button states.
Definition: GUIIconButton.h:270
ImageResource_t m_eIconHighlighted
Definition: GUIIconButton.h:249
CGUIIconButton(const CGUIIconButton &kSource)
void GetIconPos(eC_Value &vIconPosX, eC_Value &vIconPosY) const
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
void SetIconAlpha(const eC_UByte ubIconAlpha)
Definition: GUIIconButton.h:214
eC_UByte GetIconAlpha()
Definition: GUIIconButton.h:223
~CGUIIconButton()
Destructor.
CGUIIconButton & operator=(const CGUIIconButton &kSource)
void SetIconImages(const ImageResource_t eIconNormal, const ImageResource_t eIconPressed, const ImageResource_t eIconHighlighted, const ImageResource_t eIconGrayedOut, const ImageResource_t eIconFocussed)
void SetIconPos(const eC_Value &vIconPosX, const eC_Value &vIconPosY)
eC_Value m_vIconPosX
m_vIconPosX stores X-Position of icon. This is relative to the control.
Definition: GUIIconButton.h:264
virtual void ReadFromStream()
ImageResource_t m_eIconNormal
Definition: GUIIconButton.h:245
CGUIIconButton(CGUICompositeObject *const pkParent, const CGUIRect &kRect, const eC_Value &vXIconPos, const eC_Value &vYIconPos, const TextResource_t &eTextID, CGUICommandPtr pkCommandObject, const ObjectHandle_t &eID=NO_HANDLE)
void GetIconImages(ImageResource_t &eIconNormal, ImageResource_t &eIconPressed, ImageResource_t &eIconHighlighted, ImageResource_t &eIconGrayedOut, ImageResource_t &eIconFocussed) const
Definition: GUIIconButton.h:184
ImageResource_t m_eIconGrayedOut
Definition: GUIIconButton.h:257
virtual eC_Bool DoDraw()
ImageResource_t m_eIconPressed
Definition: GUIIconButton.h:253
CGUIIconButton(CGUICompositeObject *const pkParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const eC_Value &vXIconPos, const eC_Value &vYIconPos, const TextResource_t &eTextID, CGUICommandPtr pkCommandObject, const ObjectHandle_t &eID=NO_HANDLE)
ImageResource_t m_eIconFocussed
Definition: GUIIconButton.h:261
CGUIIconButton(CGUICompositeObject *const pkParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const eC_Value &vXIconPos, const eC_Value &vYIconPos, const eC_String &pkText, CGUICommandPtr pkCommandObject, const ObjectHandle_t &eID=NO_HANDLE)
eC_Value m_vIconPosY
m_vIconPosY stores Y-Position of icon. This is relative to the control.
Definition: GUIIconButton.h:267
Helper class to supply a platform independent rectangle implementation.
Definition: GUIRect.h:63