Clapkit
Loading...
Searching...
No Matches
CKDropdown Class Reference

Defines a dropdown control. More...

#include <ckDropdown.h>

Inheritance diagram for CKDropdown:
CKControlToolbox CKValueContainingControl CKControl CKTextableControl CKObject

Public Member Functions

 CKDropdown (const CKControlInitParams &params)
 
virtual ~CKDropdown ()
 
virtual void AddedToWindow (CKWindow *window)
 
virtual bool HandleEvent (const CKEvent &evt)
 
virtual void RaisePropertyChange (const char *propertyName)
 
- Public Member Functions inherited from CKControlToolbox
 CKControlToolbox (const CKControlInitParams &params, CKControlType type=CKControlType::Unknown)
 
virtual ~CKControlToolbox ()
 
virtual void Redraw ()
 
- Public Member Functions inherited from CKControl
 CKControl (const CKControlInitParams &params, CKControlType type=CKControlType::Unknown)
 
virtual ~CKControl ()
 
virtual void RemovedFromWindow ()
 
virtual void MarkAsDirty ()
 
- Public Member Functions inherited from CKObject
 CKObject ()
 
virtual ~CKObject ()
 
virtual void AddHandler (CKEventType type, CKEventHandlerFunc cb)
 
virtual void RemoveHandler (CKEventType type)
 
virtual bool HasHandler (CKEventType type) const
 
virtual void SetPropertyObserver (CKPropertyObserverFunc cb)
 
virtual void UnsetPropertyObserver ()
 
- Public Member Functions inherited from CKTextableControl
 CKTextableControl ()
 
virtual ~CKTextableControl ()
 
virtual void SetText (const char *text)
 
virtual const char * GetText ()
 
- Public Member Functions inherited from CKValueContainingControl
void SetValue (bool value)
 
void SetValue (void *value)
 
bool GetBoolean () const
 
void * GetMisc () const
 

Public Attributes

CKProperty< int > labelWidth = -1
 
CKProperty< std::vector< const char * > > items
 
CKProperty< int > selectedIndex = -1
 
- Public Attributes inherited from CKControl
CKProperty< CKWindow * > owner = nullptr
 
CKProperty< CKRectrect
 
CKProperty< bool > enabled = true
 
CKProperty< bool > visible
 

Protected Member Functions

 CKDropdown (const CKControlInitParams &params, CKControlType forcedType)
 

Protected Attributes

MenuID __menuId
 
MenuHandle __menu = nullptr
 
bool __rebuildMenu = false
 
int __lastRaisedSelectedIndex = -1
 
- Protected Attributes inherited from CKControlToolbox
CKControlPtr __ptr
 
CKControlType __type
 
- Protected Attributes inherited from CKObject
std::map< CKEventType, CKEventHandlerFunc__handlers
 
CKPropertyObserverFunc propertyObserverCB = nullptr
 
- Protected Attributes inherited from CKTextableControl
char * __text
 
- Protected Attributes inherited from CKValueContainingControl
CKValueType _type = CKValueType::None
 
union { 
 
   bool   bValue 
 
   void *   mValue 
 
_value 
 

Detailed Description

Defines a dropdown control.

Constructor & Destructor Documentation

◆ CKDropdown() [1/2]

CKDropdown::CKDropdown ( const CKControlInitParams params)

◆ ~CKDropdown()

CKDropdown::~CKDropdown ( )
virtual

◆ CKDropdown() [2/2]

CKDropdown::CKDropdown ( const CKControlInitParams params,
CKControlType  forcedType 
)
protected

Member Function Documentation

◆ AddedToWindow()

void CKDropdown::AddedToWindow ( CKWindow window)
virtual

Called by CKApp when the control has been added to a window.

Reimplemented from CKControlToolbox.

◆ HandleEvent()

bool CKDropdown::HandleEvent ( const CKEvent evt)
virtual

Reimplemented from CKControlToolbox.

◆ RaisePropertyChange()

void CKDropdown::RaisePropertyChange ( const char *  propertyName)
virtual

Reimplemented from CKControlToolbox.

Member Data Documentation

◆ __lastRaisedSelectedIndex

int CKDropdown::__lastRaisedSelectedIndex = -1
protected

◆ __menu

MenuHandle CKDropdown::__menu = nullptr
protected

◆ __menuId

MenuID CKDropdown::__menuId
protected

◆ __rebuildMenu

bool CKDropdown::__rebuildMenu = false
protected

◆ items

CKProperty<std::vector<const char*> > CKDropdown::items

◆ labelWidth

CKProperty<int> CKDropdown::labelWidth = -1

◆ selectedIndex

CKProperty<int> CKDropdown::selectedIndex = -1

The documentation for this class was generated from the following files: