Guiliani  Version 2.6 revision 7293 (documentation build 12)
GUIButton.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 GUIBUTTON__H_
11#define GUIBUTTON__H_
12
13#include "GUIBaseButton.h"
14#include "GUIImageResource.h"
15#include "GUINinePatch.h"
16
18
19// @guiliani_doxygen toplevel_control Button
35// @endguiliani_doxygen
69{
70public:
73 {
74 BBT_CENTER,
78 };
79
80public:
92 CGUICompositeObject* const pkParent,
93 const eC_Value& vX,
94 const eC_Value& vY,
95 const eC_Value& vWidth,
96 const eC_Value& vHeight,
97 const eC_String& rkText,
98 CGUICommandPtr pkCommandObject,
99 const ObjectHandle_t &eID = NO_HANDLE);
100
109 CGUICompositeObject* const pkParent,
110 const CGUIRect &kRect,
111 const eC_String& rkText,
112 CGUICommandPtr pkCommandObject,
113 const ObjectHandle_t &eID = NO_HANDLE);
114
126 CGUICompositeObject* const pkParent,
127 const eC_Value& vX,
128 const eC_Value& vY,
129 const eC_Value& vWidth,
130 const eC_Value& vHeight,
131 const TextResource_t &eTextID,
132 CGUICommandPtr pkCommandObject,
133 const ObjectHandle_t &eID = NO_HANDLE);
134
150 CGUICompositeObject* const pkParent,
151 const eC_Value& vX,
152 const eC_Value& vY,
153 CGUICommandPtr pkCommandObject,
154 const ImageResource_t &eBtnStandard,
155 const ImageResource_t &eBtnPressed = DUMMY_IMAGE,
156 const ImageResource_t &eBtnHighlighted = DUMMY_IMAGE,
157 const ImageResource_t &eBtnGrayedOut = DUMMY_IMAGE,
158 const ImageResource_t &eBtnFocused = DUMMY_IMAGE,
159 const ObjectHandle_t &eID = NO_HANDLE);
160
169 CGUICompositeObject* const pkParent,
170 const CGUIRect &kRect,
171 const TextResource_t &eTextID,
172 CGUICommandPtr pkCommandObject,
173 const ObjectHandle_t &eID = NO_HANDLE);
174
178 CGUIButton(const CGUIButton& kSource);
179
189
191 virtual ~CGUIButton();
192
193#ifdef GUILIANI_STREAM_GUI
194 virtual void ReadFromStream();
195#endif
196#ifdef GUILIANI_WRITE_GUI
197 virtual void WriteToStream(const eC_Bool bWriteClassID = false);
198#endif
199 eC_Bool DoDraw();
200
211 const ImageResource_t &eBtnStandard,
212 const ImageResource_t &eBtnPressed,
213 const ImageResource_t &eBtnHighlighted,
214 const ImageResource_t &eBtnGrayedOut,
215 const ImageResource_t &eBtnFocused);
216
225 ImageResource_t &eBtnStandard,
226 ImageResource_t &eBtnPressed,
227 ImageResource_t &eBtnHighlighted,
228 ImageResource_t &eBtnGrayedOut,
229 ImageResource_t &eBtnFocused);
230
233
237 {
238 return m_kNinePatch;
239 }
240
244 void SetBlitType(const BlitType_t& eBlitType);
245
250
254 void SetBlitRect(const CGUIRect& kBlitRect);
255
260
261protected:
267
271
272private:
274 void Init();
275
277 void DeInit();
278};
279#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
Base class for button controls.
Definition: GUIBaseButton.h:69
Button specialization that uses images for graphical representation.
Definition: GUIButton.h:69
CGUIButton(CGUICompositeObject *const pkParent, const CGUIRect &kRect, const eC_String &rkText, CGUICommandPtr pkCommandObject, const ObjectHandle_t &eID=NO_HANDLE)
ImageResource_t m_eBtnPressed
the pressed image
Definition: GUIButton.h:264
CGUIRect GetBlitRect() const
BlitType_t
enum for blitting-type
Definition: GUIButton.h:73
@ BBT_TILED
stretch image to fit
Definition: GUIButton.h:77
@ BBT_MANUAL_LAYOUT
blit image centered
Definition: GUIButton.h:75
@ BBT_STRETCH
blit image according to manual layout
Definition: GUIButton.h:76
void SetStandardImages()
CGUIButton(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)
ImageResource_t m_eBtnNormal
the standard image
Definition: GUIButton.h:262
void GetImages(ImageResource_t &eBtnStandard, ImageResource_t &eBtnPressed, ImageResource_t &eBtnHighlighted, ImageResource_t &eBtnGrayedOut, ImageResource_t &eBtnFocused)
CGUIRect m_kBlitRect
used blitting-rect for manual-layout
Definition: GUIButton.h:270
CGUIButton(CGUICompositeObject *const pkParent, const eC_Value &vX, const eC_Value &vY, CGUICommandPtr pkCommandObject, const ImageResource_t &eBtnStandard, const ImageResource_t &eBtnPressed=DUMMY_IMAGE, const ImageResource_t &eBtnHighlighted=DUMMY_IMAGE, const ImageResource_t &eBtnGrayedOut=DUMMY_IMAGE, const ImageResource_t &eBtnFocused=DUMMY_IMAGE, const ObjectHandle_t &eID=NO_HANDLE)
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
CGUIButton & operator=(const CGUIButton &kSource)
void SetImages(const ImageResource_t &eBtnStandard, const ImageResource_t &eBtnPressed, const ImageResource_t &eBtnHighlighted, const ImageResource_t &eBtnGrayedOut, const ImageResource_t &eBtnFocused)
CGUINinePatch m_kNinePatch
the nine patch
Definition: GUIButton.h:268
ImageResource_t m_eBtnHighlighted
the highlighted image
Definition: GUIButton.h:263
virtual ~CGUIButton()
void SetBlitType(const BlitType_t &eBlitType)
CGUIButton(CGUICompositeObject *const pkParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const eC_String &rkText, CGUICommandPtr pkCommandObject, const ObjectHandle_t &eID=NO_HANDLE)
ImageResource_t m_eBtnFocused
the focused image
Definition: GUIButton.h:266
CGUIButton(const CGUIButton &kSource)
CGUINinePatch & GetNinePatch()
Definition: GUIButton.h:236
ImageResource_t m_eBtnGrayedOut
the grayed out image
Definition: GUIButton.h:265
eC_Bool DoDraw()
virtual void ReadFromStream()
BlitType_t m_eBlitType
used blitting-type
Definition: GUIButton.h:269
void SetBlitRect(const CGUIRect &kBlitRect)
BlitType_t GetBlitType() const
CGUIButton(CGUICompositeObject *const pkParent, const CGUIRect &kRect, const TextResource_t &eTextID, CGUICommandPtr pkCommandObject, const ObjectHandle_t &eID=NO_HANDLE)
This is the Guiliani base class for all composite objects.
Definition: GUICompositeObject.h:70
Helper class to for storing Nine-Patch images.
Definition: GUINinePatch.h:41
Helper class to supply a platform independent rectangle implementation.
Definition: GUIRect.h:63