Guiliani  Version 2.5 revision 7293 (documentation build 13)
GUITabContainer.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 GUITABCONTAINER__H_
11#define GUITABCONTAINER__H_
12
13#include "GUICompositeObject.h"
14#include "GUIImageResource.h"
15#include "GUIFontResource.h"
16
17#include "GUIRadioButtonGroup.h"
18
19#include "GUIBehaviourDecorator.h"
20
21#include "GUINinePatch.h"
22#include "GUICommonTypes.h"
23
28{
29public:
33 CGUITabItemBehaviour(const eC_UInt& uiTabItemIndex);
34
37
42
43protected:
44 virtual eC_Bool DoClick(
45 const eC_Value& vAbsX,
46 const eC_Value& vAbsY);
47
48private:
49 CGUICompositeObject* m_pkContainer;
50 eC_UInt m_uiTabItemIndex;
51};
52
54class CGUITabItem;
55
61{
62public:
72 CGUICompositeObject* const pkParent,
73 const eC_Value& vX, const eC_Value& vY,
74 const eC_Value& vWidth, const eC_Value& vHeight,
75 const ObjectHandle_t &eID = NO_HANDLE);
76
78
79 virtual ~CGUITabClientArea() {}
80
86 virtual eC_Bool AddObject(CGUITabItem *pkTabItem);
87
93 virtual eC_Bool AddObject(CGUIObject* pkObject);
94
95 virtual void RemoveObject(CGUIObject* pkObject);
96
99 void Refresh();
100
104 void SetContainer(CGUITabContainer* pkContainer);
105
106#ifdef GUILIANI_STREAM_GUI
107 virtual void ReadFromStream();
108#endif // GUILIANI_STREAM_GUI
109
110#ifdef GUILIANI_WRITE_GUI
111 virtual void WriteToStream(const eC_Bool bWriteClassID = false);
112#endif // GUILIANI_WRITE_GUI
113
114private:
115 CGUITabContainer* m_pkTabContainer;
116};
117
122{
123public:
128
138 const eC_Value& vX, const eC_Value& vY,
139 const eC_Value& vWidth, const eC_Value& vHeight,
140 const eC_String& kHeadline,
141 const ObjectHandle_t &eID = NO_HANDLE);
142
152 const eC_Value& vX, const eC_Value& vY,
153 const eC_Value& vWidth, const eC_Value& vHeight,
154 const TextResource_t& eHeadline,
155 const ObjectHandle_t &eID = NO_HANDLE);
156
163 const CGUIRect &kRect,
164 const eC_String& kHeadline,
165 const ObjectHandle_t &eID = NO_HANDLE);
166
173 const CGUIRect &kRect,
174 const TextResource_t& eHeadline,
175 const ObjectHandle_t &eID = NO_HANDLE);
176
178 virtual ~CGUITabItem();
179
183 void SetText(const eC_String& kText);
184
188 void SetText(const TextResource_t& eTextID);
189
193 eC_String GetText() const;
194
195#ifdef GUILIANI_STREAM_GUI
196 virtual void ReadFromStream();
197#endif // GUILIANI_STREAM_GUI
198
199#ifdef GUILIANI_WRITE_GUI
200 virtual void WriteToStream(const eC_Bool bWriteClassID = false);
201#endif // GUILIANI_WRITE_GUI
202
203private:
204 eC_String m_kText;
205 TextResource_t m_eTextID;
206};
207
208// @guiliani_doxygen toplevel_control Tab-Container
222// @endguiliani_doxygen
223
234{
235public:
240
250 CGUICompositeObject* const pkParent,
251 const eC_Value& vX, const eC_Value& vY,
252 const eC_Value& vWidth, const eC_Value& vHeight,
253 const ObjectHandle_t &eID = NO_HANDLE);
254
261 CGUICompositeObject* const pkParent,
262 const CGUIRect &kRect,
263 const ObjectHandle_t &eID = NO_HANDLE);
264
267
273 virtual eC_Bool AddObject(CGUITabItem *pkTabItem);
274
280 virtual eC_Bool AddObject(CGUIObject* pkObject);
281
282 virtual void RemoveObject(CGUIObject* pkObject);
283
284#ifdef GUILIANI_STREAM_GUI
285 virtual void ReadFromStream();
286#endif // GUILIANI_STREAM_GUI
287
288#ifdef GUILIANI_WRITE_GUI
289 virtual void WriteToStream(const eC_Bool bWriteClassID = false);
290#endif // GUILIANI_WRITE_GUI
291
292 virtual void SetWidth(const eC_Value& vX);
293 virtual void SetHeight(const eC_Value& vY);
294
299 void SetButtonPosition(const CGUICommonEnums::Alignment_t& eTabButtonPosition);
300
306
311 void SetCurrentTabIndex(const eC_UInt& uiIndex);
312
317 eC_UInt GetCurrentTabIndex() const;
318
324 void SetButtonSize(const eC_Value& vWidth, const eC_Value& vHeight);
325
331 void GetButtonSize(eC_Value& vWidth, eC_Value& vHeight) const;
332
338 void SetButtonMaxSize(const eC_Value& vWidth, const eC_Value& vHeight);
339
345 void GetButtonMaxSize(eC_Value& vWidth, eC_Value& vHeight) const;
346
351 void SetButtonAutoSize(const eC_Bool& bButtonAutoSize);
352
357 eC_Bool GetButtonAutoSize() const;
358
363 void SetCenterButtons(const eC_Bool& bCenterButtons);
364
369 eC_Bool GetCenterButtons() const;
370
385 const ImageResource_t &eImageNotSelectedStandard,
386 const ImageResource_t &eImageNotSelectedHighlighted,
387 const ImageResource_t &eImageNotSelectedPressed,
388 const ImageResource_t &eImageNotSelectedFocussed,
389 const ImageResource_t &eImageNotSelectedGrayedOut,
390 const ImageResource_t &eImageSelectedStandard,
391 const ImageResource_t &eImageSelectedHighlighted,
392 const ImageResource_t &eImageSelectedPressed,
393 const ImageResource_t &eImageSelectedFocussed,
394 const ImageResource_t &eImageSelectedGrayedOut);
395
410 ImageResource_t &eImageNotSelectedStandard,
411 ImageResource_t &eImageNotSelectedHighlighted,
412 ImageResource_t &eImageNotSelectedPressed,
413 ImageResource_t &eImageNotSelectedFocussed,
414 ImageResource_t &eImageNotSelectedGrayedOut,
415 ImageResource_t &eImageSelectedStandard,
416 ImageResource_t &eImageSelectedHighlighted,
417 ImageResource_t &eImageSelectedPressed,
418 ImageResource_t &eImageSelectedFocussed,
419 ImageResource_t &eImageSelectedGrayedOut);
420
425 void SetFontID(const FontResource_t& eFontID);
426
432
441 const ColorValue_t& kColorStandard,
442 const ColorValue_t& kColorHighlighted,
443 const ColorValue_t& kColorPressed,
444 const ColorValue_t& kColorGrayedOut);
445
454 ColorValue_t& kColorStandard,
455 ColorValue_t& kColorHighlighted,
456 ColorValue_t& kColorPressed,
457 ColorValue_t& kColorGrayedOut);
458
463 eC_UInt GetNumberOfTabs() const;
464
470
476
480
481private:
484 void Init();
485
486 void DeInit();
487
490 void AdjustContainers();
491
492 void GetOrCreateSubObjects();
493
494 void AdjustTabButtonCount();
495
498 void UpdateTabButtons();
499
500private:
501 CGUICommonEnums::Alignment_t m_eTabButtonAlignment;
502 eC_UInt m_uiActiveTabIndex;
503 eC_Value m_vButtonWidth;
504 eC_Value m_vButtonHeight;
505 eC_Value m_vMaxButtonWidth;
506 eC_Value m_vMaxButtonHeight;
507 eC_Bool m_bAutoSizeButtons;
508 eC_Bool m_bCenterButtons;
509
510 ImageResource_t m_eImageNotSelectedStandard;
511 ImageResource_t m_eImageNotSelectedHighlighted;
512 ImageResource_t m_eImageNotSelectedPressed;
513 ImageResource_t m_eImageNotSelectedFocussed;
514 ImageResource_t m_eImageNotSelectedGrayedOut;
515 ImageResource_t m_eImageSelectedStandard;
516 ImageResource_t m_eImageSelectedHighlighted;
517 ImageResource_t m_eImageSelectedPressed;
518 ImageResource_t m_eImageSelectedFocussed;
519 ImageResource_t m_eImageSelectedGrayedOut;
520 CGUINinePatch m_kNinePatch;
521
522 FontResource_t m_eFontID;
523
524 ColorValue_t m_kTextColorStandard;
525 ColorValue_t m_kTextColorHighlighted;
526 ColorValue_t m_kTextColorPressed;
527 ColorValue_t m_kTextColorGrayedOut;
528
529 CGUIRadioButtonGroup* m_pkButtonBox;
530 CGUITabClientArea* m_pkClientArea;
531
532 eC_UInt m_uiNumberOfTabs;
533
534 eC_Bool m_bInCreateSubObjects;
535};
536
537#endif
Helper Macros in Guiliani
FontResource_t
List of font resource ids.
Definition: GUIFontResource.h:54
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
GUIBehaviourDecorator base class.
Definition: GUIBehaviourDecorator.h:78
Alignment_t
Position of control.
Definition: GUICommonEnums.h:64
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
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:79
Container for radio buttons.
Definition: GUIRadioButtonGroup.h:42
Helper class to supply a platform independent rectangle implementation.
Definition: GUIRect.h:63
this class contains the client-area of the tab-container it is on the same hierarchy-level as the but...
Definition: GUITabContainer.h:61
virtual void RemoveObject(CGUIObject *pkObject)
CGUITabClientArea(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)
void SetContainer(CGUITabContainer *pkContainer)
virtual eC_Bool AddObject(CGUIObject *pkObject)
virtual eC_Bool AddObject(CGUITabItem *pkTabItem)
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
virtual void ReadFromStream()
Definition: GUITabContainer.h:234
virtual void SetWidth(const eC_Value &vX)
eC_UInt GetNumberOfTabs() const
CGUITabClientArea * GetClientArea()
void GetButtonTextColor(ColorValue_t &kColorStandard, ColorValue_t &kColorHighlighted, ColorValue_t &kColorPressed, ColorValue_t &kColorGrayedOut)
virtual eC_Bool AddObject(CGUITabItem *pkTabItem)
CGUITabContainer(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 ReadFromStream()
eC_Bool GetCenterButtons() const
void GetButtonSize(eC_Value &vWidth, eC_Value &vHeight) const
void SetButtonAutoSize(const eC_Bool &bButtonAutoSize)
virtual eC_Bool AddObject(CGUIObject *pkObject)
void SetButtonMaxSize(const eC_Value &vWidth, const eC_Value &vHeight)
eC_Bool GetButtonAutoSize() const
FontResource_t GetFontID() const
virtual ~CGUITabContainer()
This destructor is automatically virtual, as the base class destructor is virtual.
void SetCenterButtons(const eC_Bool &bCenterButtons)
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
virtual void RemoveObject(CGUIObject *pkObject)
void GetButtonMaxSize(eC_Value &vWidth, eC_Value &vHeight) const
CGUICommonEnums::Alignment_t GetButtonPosition() const
virtual void SetHeight(const eC_Value &vY)
CGUINinePatch & GetNinePatch()
void GetButtonImages(ImageResource_t &eImageNotSelectedStandard, ImageResource_t &eImageNotSelectedHighlighted, ImageResource_t &eImageNotSelectedPressed, ImageResource_t &eImageNotSelectedFocussed, ImageResource_t &eImageNotSelectedGrayedOut, ImageResource_t &eImageSelectedStandard, ImageResource_t &eImageSelectedHighlighted, ImageResource_t &eImageSelectedPressed, ImageResource_t &eImageSelectedFocussed, ImageResource_t &eImageSelectedGrayedOut)
CGUITabContainer(CGUICompositeObject *const pkParent, const CGUIRect &kRect, const ObjectHandle_t &eID=NO_HANDLE)
void SetButtonTextColor(const ColorValue_t &kColorStandard, const ColorValue_t &kColorHighlighted, const ColorValue_t &kColorPressed, const ColorValue_t &kColorGrayedOut)
eC_UInt GetCurrentTabIndex() const
void SetCurrentTabIndex(const eC_UInt &uiIndex)
void SetFontID(const FontResource_t &eFontID)
void SetButtonImages(const ImageResource_t &eImageNotSelectedStandard, const ImageResource_t &eImageNotSelectedHighlighted, const ImageResource_t &eImageNotSelectedPressed, const ImageResource_t &eImageNotSelectedFocussed, const ImageResource_t &eImageNotSelectedGrayedOut, const ImageResource_t &eImageSelectedStandard, const ImageResource_t &eImageSelectedHighlighted, const ImageResource_t &eImageSelectedPressed, const ImageResource_t &eImageSelectedFocussed, const ImageResource_t &eImageSelectedGrayedOut)
void SetButtonSize(const eC_Value &vWidth, const eC_Value &vHeight)
void SetButtonPosition(const CGUICommonEnums::Alignment_t &eTabButtonPosition)
Behaviour to switch between the children of a tab-container.
Definition: GUITabContainer.h:28
void SetContainer(CGUICompositeObject *pkContainer)
CGUITabItemBehaviour()
Default constructor.
CGUITabItemBehaviour(const eC_UInt &uiTabItemIndex)
virtual eC_Bool DoClick(const eC_Value &vAbsX, const eC_Value &vAbsY)
Definition: GUITabContainer.h:122
eC_String GetText() const
CGUITabItem(const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const TextResource_t &eHeadline, const ObjectHandle_t &eID=NO_HANDLE)
virtual ~CGUITabItem()
This destructor is automatically virtual, as the base class destructor is virtual.
CGUITabItem(const CGUIRect &kRect, const TextResource_t &eHeadline, const ObjectHandle_t &eID=NO_HANDLE)
void SetText(const TextResource_t &eTextID)
virtual void ReadFromStream()
CGUITabItem(const CGUIRect &kRect, const eC_String &kHeadline, const ObjectHandle_t &eID=NO_HANDLE)
void SetText(const eC_String &kText)
CGUITabItem(const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const eC_String &kHeadline, const ObjectHandle_t &eID=NO_HANDLE)
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
structure used to stream colors
Definition: GUICommonTypes.h:24