10#ifndef GUICOMBOBOX__H_
11#define GUICOMBOBOX__H_
13#include "GUICompositeObject.h"
14#include "GUICommand.h"
15#include "GUIComboBoxHeader.h"
16#include "GUIListBox.h"
17#include "GUIColorPropertyObserver.h"
132 const eC_Value& vX,
const eC_Value& vY,
133 const eC_Value& vWidth,
const eC_Value& vHeight,
134 const eC_Value& vHeaderButtonWidth,
140#ifndef GUILIANI_NO_DATAPOOL
197 eC_Bool
AddItem(
const eC_String& kText, eC_Bool bIsAutoAdjustArrange =
true);
218 eC_Bool
RemoveItem(
const eC_String& kItemStr, eC_Bool bIsAutoAdjustArrange =
true);
479#ifdef GUILIANI_STREAM_GUI
482#ifdef GUILIANI_WRITE_GUI
497 const eC_Value& vAbsX = eC_FromInt(-1),
498 const eC_Value& vAbsY = eC_FromInt(-1));
518 void UpdateHeaderString();
523 void DetermineListDirection();
540 void Init(
const eC_Value& vHeaderButtonWidth);
557 eC_String m_kPrevSelectedStr;
572 eC_Value m_vFrameBorderWidth;
575 eC_Value m_vOriginalRelXPos;
576 eC_Value m_vOriginalRelYPos;
578 eC_Bool m_bForceVisible;
580 eC_Int m_iSelectionIndex;
GUIKeyIdentifier_t
Platform independent key identifiers.
Definition: GUIEventTypeResource.h:207
ImageResource_t
Enumeration of image resource ids.
Definition: GUIImageResource.h:126
ObjectHandle_t
List of object resource ids.
Definition: GUIObjectHandleResource.h:55
GlobalProperty_t
List of property resource ids.
Definition: GUIPropertyResource.h:67
A single entry in the DataPool. The DataPoolEntry class represents a single entry (unique id + a valu...
Definition: GUIDataPool.h:108
This observer provides the base-interface for controls when using color-properties.
Definition: GUIColorPropertyObserver.h:23
Class for construction of a combo box control.
Definition: GUIComboBox.h:105
virtual eC_Bool DoChar(const eC_UInt &uiKey, const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers)
eC_UInt GetSelectedTextColor() const
virtual eC_Bool DoClick(const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
eC_Int FindItem(const eC_String &kItemStr) const
eC_Bool AddItem(const eC_String &kText, eC_Bool bIsAutoAdjustArrange=true)
virtual void ReadFromStream()
eC_Bool RemoveItem(const eC_String &kItemStr, eC_Bool bIsAutoAdjustArrange=true)
InputActionType_t
Definition: GUIComboBox.h:110
@ INPUT_SEARCHED
The typed input string is searched and the matched string is selected into header.
Definition: GUIComboBox.h:112
@ INPUT_INSERTED
The input string is inserted to the list after the user finishes typing.
Definition: GUIComboBox.h:111
void SetHeaderButtonImages(const ImageResource_t &eBtnStandard, const ImageResource_t &eBtnPressed, const ImageResource_t &eBtnHighlighted, const ImageResource_t &eBtnGrayedOut, const ImageResource_t &eBtnFocused) const
void SetHeaderText(const eC_String &kStr) const
virtual ~CGUIComboBox()
This destructor is automatically virtual, as the base class destructor is virtual.
void SetHeaderSelectedTextColor(eC_UInt uiCol) const
virtual void OnNotification(const CGUIValue &kObservedValue, const CGUIObject *const pkUpdatedObject, const eC_UInt uiX=0, const eC_UInt uiY=0)
void SetItemSelectedColor(eC_UInt uiItemSelectedColor) const
InputActionType_t GetInputActionType() const
virtual eC_Bool DoKeyDown(const GUIKeyIdentifier_t &eKeyID, const eC_UInt &uiModifiers)
void SetLabel(CGUIEditableText *pkText) const
void SetHeaderEditable(const eC_Bool &bEditable) const
eC_String GetHeaderText() const
virtual void SetWidth(const eC_Value &vWidth)
void SetFrameBorderColor(const GlobalProperty_t &eFrameBorderColor)
CGUIComboBoxHeader * GetHeader() const
CGUIEditableText * GetHeaderLabel() const
virtual eC_Bool SetValue(CDataPoolEntry &rkValue)
eC_Bool FocusSelectedItem()
eC_Int GetSelection() const
void SetCommand(CGUICommandPtr pkCommand)
eC_String GetSelectedItemStr() const
CGUIListBox * GetListBox() const
void RemoveSelectionObserver(CGUIObserver *pObserver)
virtual void RemoveObject(CGUIObject *pkObject)
eC_Bool GetForceVisible() const
CGUIComboBox(CGUICompositeObject *const pkParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const eC_Value &vHeaderButtonWidth, const ObjectHandle_t &eID=NO_HANDLE)
virtual eC_Bool DoUserEvent(CGUIEvent *const pEvent)
void SetForceVisible(const eC_Bool &bForceVisible)
eC_Bool RemoveItem(CGUIListItem *pItem, eC_Bool bIsAutoAdjustArrange=true)
void SetGrayedOut(const eC_Bool &bGrayedOut)
eC_UInt GetFrameBorderColor() const
eC_String GetPreviousSelection() const
virtual void SetHeight(const eC_Value &vHeight)
virtual eC_Bool SetValue(const CGUIValue &rkValue)
void SetDisabled(const eC_Bool &bDisabled)
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
eC_UInt GetItemCount() const
void SetFrameBorderColor(const eC_UInt &uiFrameBorderColor)
CGUIListItem * GetItem(eC_UInt uiIndex) const
void SetFrameBorderWidth(const eC_Value &vFrameBorderWidth)
void SetInputActionType(const InputActionType_t &eInputActionType)
eC_Bool AddItem(CGUIListItem *pItem, eC_Bool bIsAutoAdjustArrange=true)
void SetSelection(eC_Int iIndex)
void SetHeaderButtonWidth(const eC_Value &vHeaderButtonWidth) const
This is the Guiliani base class for all composite objects.
Definition: GUICompositeObject.h:70
Specialization of CGUIText that allows for modification and selection of text.
Definition: GUIEditableText.h:62
Base class for Guiliani Events.
Definition: GUIEvent.h:26
Contains list items and can be scrolled if there is not enough space.
Definition: GUIListBox.h:103
A list item is a control that is shown in a list as an element.
Definition: GUIListItem.h:64
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:81
Observer Base class for Observer-Design-Pattern within Guiliani.
Definition: GUIObserver.h:28
Subject Base class for Observer-Design-Pattern within Guiliani.
Definition: GUISubject.h:34
CGUIValue stores a single value in one specific type.
Definition: GUIValue.h:25
void AddSelectionObserver(CGUIObserver *pObserver)