Guiliani  Version 2.6 revision 7293 (documentation build 12)
GUISlider.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 GUISLIDER__H_
11#define GUISLIDER__H_
12
13#include "GUIBaseSlider.h"
14#include "GUIImageResource.h"
15#include "GUINinePatch.h"
16#include "GUICommonEnums.h"
17
19// @guiliani_doxygen toplevel_control Slider
32// @endguiliani_doxygen
79 public CGUIBaseSlider
80{
81public:
98 CGUICompositeObject* const pkParent,
99 const eC_Value& vX, const eC_Value& vY,
100 const eC_Value& vWidth, const eC_Value& vHeight,
101 const eC_Int &iValue,
102 const eC_Int &iMin,
103 const eC_Int &iMax,
104 const eC_UInt &uiStepSize,
105 const CGUIRange::Base_t &eBase = CGUIRange::BASE_AT_MINIMUM,
107 const ObjectHandle_t &eID = NO_HANDLE);
108
122 CGUICompositeObject* const pkParent,
123 const CGUIRect &kRect,
124 const eC_Int &iValue,
125 const eC_Int &iMin,
126 const eC_Int &iMax,
127 const eC_UInt &uiStepSize,
128 const CGUIRange::Base_t &eBase = CGUIRange::BASE_AT_MINIMUM,
130 const ObjectHandle_t &eID = NO_HANDLE);
131
134 CGUISlider(const CGUISlider& kSource);
135
140
142 virtual ~CGUISlider();
143
144#ifdef GUILIANI_STREAM_GUI
150
151 virtual void ReadFromStream();
152#endif
153#ifdef GUILIANI_WRITE_GUI
154 virtual void WriteToStream(const eC_Bool bWriteClassID = false);
155#endif
156
172 const ImageResource_t &eSldBG, const ImageResource_t &eSldKnobNormal,
173 const ImageResource_t &eSldKnobHighlighted, const ImageResource_t &eSldKnobPressed,
174 const ImageResource_t &eSldKnobGrayedOut = DUMMY_IMAGE);
175
176 eC_Bool DoDraw();
177
184 inline void SetBackgroundMargin(const eC_Value& vBkgndMargin)
185 {
186 m_vBkgndMargin = vBkgndMargin;
187 }
188
193 {
195 {
196 m_vBkgndMargin = eC_Div(GetKnobSizeVertical(), eC_FromInt(2));
197 }
198 else
199 {
200 m_vBkgndMargin = eC_Div(GetKnobSizeHorizontal(), eC_FromInt(2));
201 }
202 }
203
207 {
208 return m_kNinePatch;
209 }
210
214 void SetStretchImages(const eC_Bool& bStretchImages);
215
216protected:
217#ifndef GUILIANI_STREAM_GUI
220 CGUISlider();
221#endif
222
224
229
231
232private:
234 void SetStandardImages();
235
237 inline void Init();
238
242 inline void CopyAttributes(const CGUISlider& kSource);
243
245 void DeInit();
246
253 eC_Value m_vBkgndMargin;
254
255 eC_Bool m_bStretchImages;
256};
257#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
Slider base class.
Definition: GUIBaseSlider.h:69
eC_Value GetKnobSizeVertical() const
Definition: GUIBaseSlider.h:218
CGUICommonEnums::Orientation_t m_eStyle
Definition: GUIBaseSlider.h:352
eC_Value GetKnobSizeHorizontal() const
Definition: GUIBaseSlider.h:224
Orientation_t
orientation of controls
Definition: GUICommonEnums.h:57
@ OR_VERTICAL
vertical orientation
Definition: GUICommonEnums.h:59
@ OR_HORIZONTAL
horizontal orientation
Definition: GUICommonEnums.h:58
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
Base_t
Whether base is at minimum or maximum of the range.
Definition: GUIRange.h:72
Helper class to supply a platform independent rectangle implementation.
Definition: GUIRect.h:63
Slider specialization that uses images for graphical representation.
Definition: GUISlider.h:80
eC_Bool DoDraw()
CGUINinePatch m_kNinePatch
Nine Patch for the slider knob.
Definition: GUISlider.h:230
void AdjustBackgroundMarginToMiddleOfKnob()
Definition: GUISlider.h:192
CGUISlider(CGUICompositeObject *const pkParent, const CGUIRect &kRect, const eC_Int &iValue, const eC_Int &iMin, const eC_Int &iMax, const eC_UInt &uiStepSize, const CGUIRange::Base_t &eBase=CGUIRange::BASE_AT_MINIMUM, const CGUICommonEnums::Orientation_t &eStyle=CGUICommonEnums::OR_HORIZONTAL, const ObjectHandle_t &eID=NO_HANDLE)
ImageResource_t m_eSldBG
Slider background.
Definition: GUISlider.h:223
virtual void ReadFromStream()
CGUISlider(const CGUISlider &kSource)
CGUISlider(CGUICompositeObject *const pkParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const eC_Int &iValue, const eC_Int &iMin, const eC_Int &iMax, const eC_UInt &uiStepSize, const CGUIRange::Base_t &eBase=CGUIRange::BASE_AT_MINIMUM, const CGUICommonEnums::Orientation_t &eStyle=CGUICommonEnums::OR_HORIZONTAL, const ObjectHandle_t &eID=NO_HANDLE)
void SetBackgroundMargin(const eC_Value &vBkgndMargin)
Definition: GUISlider.h:184
void SetImages(const ImageResource_t &eSldBG, const ImageResource_t &eSldKnobNormal, const ImageResource_t &eSldKnobHighlighted, const ImageResource_t &eSldKnobPressed, const ImageResource_t &eSldKnobGrayedOut=DUMMY_IMAGE)
CGUINinePatch & GetNinePatch()
Definition: GUISlider.h:206
virtual ~CGUISlider()
Destructor.
ImageResource_t m_eSldKnobPressed
Slider knob pressed.
Definition: GUISlider.h:227
CGUISlider & operator=(const CGUISlider &kSource)
ImageResource_t m_eSldKnobGrayedOut
SLider knob grayed out.
Definition: GUISlider.h:228
ImageResource_t m_eSldKnobHighlighted
Slider knob highlighted.
Definition: GUISlider.h:226
ImageResource_t m_eSldKnobNormal
Slider knob normal state.
Definition: GUISlider.h:225
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
void SetStretchImages(const eC_Bool &bStretchImages)