API Documentation
Classes | Public Member Functions | Static Public Member Functions | List of all members
nkWinUi::ComboBox Class Reference

A graphical combo box. More...

Inheritance diagram for nkWinUi::ComboBox:
nkWinUi::Component nkExport::Exportable

Classes

class  Entry
 Represents an entry within the combo box. More...
 

Public Member Functions

 ComboBox (System *system) noexcept
 
 ComboBox (const ComboBox &)=delete
 
virtual ~ComboBox ()
 
std::function< void(ComboBox *)> getSelectionCallback () const
 
EntrygetEntryPerLabel (nkMemory::StringView label) const
 
EntrygetEntryPerData (void *data) const
 
virtual EntrygetCurrentSelection () const
 
void setSelectionCallback (std::function< void(ComboBox *)> value)
 
void setSelectedEntryPerLabel (nkMemory::StringView label)
 
void setSelectedEntryPerData (void *data)
 
virtual void setSelectedEntry (Entry *selected)
 
virtual EntryinsertEntry (nkMemory::StringView label, void *data)
 
void setEntryData (nkMemory::StringView label, void *newData)
 
virtual void * deleteEntry (nkMemory::StringView label)
 
virtual void clearEntries ()
 
virtual void exportIntrospection (nkExport::Node *rootNode) override
 
virtual void importClassFromTree (nkExport::Node *rootNode) override
 
ComboBoxoperator= (const ComboBox &)=delete
 
- Public Member Functions inherited from nkWinUi::Component
 Component (System *system) noexcept
 
virtual ~Component ()
 
LayoutgetLayout () const
 
ThemegetTheme () const
 
FontgetFont () const
 
nkMaths::Point getPositionInParent () const
 
nkMaths::Point getPositionInScreen () const
 
float getWidth () const
 
float getHeight () const
 
nkMaths::Rectangle getAreaInParent () const
 
nkMaths::Rectangle getAreaInScreen () const
 
virtual nkMaths::Point getBorderExtents () const
 
virtual float getBorderExtent (BORDER_KIND border) const
 
virtual float getLayoutAllowedWidth () const
 
virtual float getLayoutAllowedHeight () const
 
virtual float getLayoutAllowedOffsetX () const
 
virtual float getLayoutAllowedOffsetY () const
 
bool isInitialized () const
 
SystemgetSystem () const
 
ComponentgetParentComponent () const
 
COMPONENT_TYPE getComponentType () const
 
nkMemory::StringView getComponentName () const
 
bool getVisibility () const
 
virtual nkMemory::StringView getLabel () const
 
void * getData () const
 
bool isEnabled () const
 
bool isForegroundWindow () const
 
virtual unsigned int getZDepth () const
 
bool getVisibleOnLoad () const
 
std::function< bool(Component *)> getCloseCallback () const
 
std::function< void(Component *, bool)> getVisibilityCallback () const
 
std::function< void(Component *, const ClickEventData &)> getClickCallback () const
 
std::function< void(Component *, const WheelEventData &)> getWheelCallback () const
 
std::function< void(Component *, const KeyEventData &)> getKeyCallback () const
 
virtual LayoutsetLayout (LAYOUT_TYPE layoutType)
 
virtual void setTheme (Theme *theme)
 
virtual void setFont (Font *font)
 
virtual void setPositionInParent (nkMaths::Point position)
 
virtual void setPositionInScreen (nkMaths::Point position)
 
virtual void setSize (float width, float height)
 
virtual void setWidth (float width)
 
virtual void setHeight (float height)
 
void setMinSize (float width, float height)
 
void setMaxSize (float width, float height)
 
void setRatio (float widthOverHeight)
 
virtual void setAreaInParent (const nkMaths::Rectangle &area)
 
virtual void setAreaInScreen (const nkMaths::Rectangle &area)
 
virtual void setParentComponent (Component *parent, bool makeItVisible=true)
 
virtual void setLabel (nkMemory::StringView label)
 
void setComponentName (nkMemory::StringView name)
 
virtual void setVisibility (bool value)
 
void setData (void *data)
 
void setEnabled (bool value)
 
void setVisibleOnLoad (bool value)
 
void setCloseCallback (std::function< bool(Component *caller)> callback)
 
void setVisibilityCallback (std::function< void(Component *caller, bool visibility)> callback)
 
void setClickCallback (std::function< void(Component *caller, const ClickEventData &eventData)> callback)
 
void setWheelCallback (std::function< void(Component *caller, const WheelEventData &eventData)> callback)
 
void setKeyCallback (std::function< void(Component *caller, const KeyEventData &eventData)> callback)
 
void addChild (Component *child, bool makeItVisible=true)
 
void removeChild (Component *child)
 
void removeChild (unsigned int index)
 
ComponentgetChild (unsigned int index)
 
unsigned int getChildIndex (Component *child)
 
void unloadWithChildren ()
 
void loadWithChildren ()
 
void updateZDepth ()
 
void bringToForeground ()
 
void focusWindow ()
 
nkMaths::Point getCoordRelativeFromAbsolute (nkMaths::Point absCoords)
 
nkMaths::Point getCoordAbsoluteFromRelative (nkMaths::Point relCoords)
 
virtual void load ()=0
 
virtual void unload ()=0
 
void reload ()
 
virtual void updateWindow ()
 
nkImages::Image paintToImage (bool withFrame=false)
 
void simulateEvent (const InputDescriptor &inputDescription)
 
virtual void onSized ()
 
virtual void exportClassToTree (nkExport::Node *rootNode) override
 
- Public Member Functions inherited from nkExport::Exportable
 Exportable () noexcept
 
virtual ~Exportable ()
 

Static Public Member Functions

static nkMemory::UniquePtr< ComboBoxcreate (System *system=nullptr)
 

Detailed Description

A graphical combo box.

Constructor & Destructor Documentation

◆ ComboBox() [1/2]

nkWinUi::ComboBox::ComboBox ( System system)
noexcept

Constructor.

Parameters
systemThe parent system in which the component will live.
Remarks
See ComponentManager::createOrRetrieve().

◆ ComboBox() [2/2]

nkWinUi::ComboBox::ComboBox ( const ComboBox )
delete

Copy constructor.

◆ ~ComboBox()

virtual nkWinUi::ComboBox::~ComboBox ( )
virtual

Destructor.

Member Function Documentation

◆ getSelectionCallback()

std::function<void (ComboBox*)> nkWinUi::ComboBox::getSelectionCallback ( ) const
Returns
The used callback for selection change events.

◆ getEntryPerLabel()

Entry* nkWinUi::ComboBox::getEntryPerLabel ( nkMemory::StringView  label) const
Parameters
labelThe label of the entry that needs to be obtained.
Returns
The entry featuring the label requested if available, nullptr else.

◆ getEntryPerData()

Entry* nkWinUi::ComboBox::getEntryPerData ( void *  data) const

Returns the entry in the combo box that has the data provided attached.

Parameters
dataThe data pointer the entry requested should have.
Returns
The entry featuring the user data requested if available, nullptr else.

◆ getCurrentSelection()

virtual Entry* nkWinUi::ComboBox::getCurrentSelection ( ) const
virtual
Returns
The currently selected entry, if any. Else, nullptr.

◆ setSelectionCallback()

void nkWinUi::ComboBox::setSelectionCallback ( std::function< void(ComboBox *)>  value)

Sets the callback used when the selection inside the combo box changes.

Parameters
valueThe callback to use. The argument will be the calling combo box.

◆ setSelectedEntryPerLabel()

void nkWinUi::ComboBox::setSelectedEntryPerLabel ( nkMemory::StringView  label)

Sets the selected entry, using the label.

Parameters
labelThe label to find the entry to select.

◆ setSelectedEntryPerData()

void nkWinUi::ComboBox::setSelectedEntryPerData ( void *  data)

Sets the selected entry, using the data that should be attached to it.

Parameters
dataThe data to find the entry to select.

◆ setSelectedEntry()

virtual void nkWinUi::ComboBox::setSelectedEntry ( Entry selected)
virtual

Sets the selected entry.

Parameters
selectedThe entry to select.

◆ insertEntry()

virtual Entry* nkWinUi::ComboBox::insertEntry ( nkMemory::StringView  label,
void *  data 
)
virtual

Inserts a new entry within the combo box.

Parameters
labelThe label the entry should have.
dataThe user data to attach to the entry.
Returns
The entry freshly created.
Remarks
The component is the owner of the entry returned. The entry is not responsible for the user data memory.

◆ setEntryData()

void nkWinUi::ComboBox::setEntryData ( nkMemory::StringView  label,
void *  newData 
)

Overrides the user data attached to an entry.

Parameters
labelThe label to find back the entry requested.
newDataThe user data to attach to the entry.

◆ deleteEntry()

virtual void* nkWinUi::ComboBox::deleteEntry ( nkMemory::StringView  label)
virtual

Erases an entry. Entry memory will be freed.

Parameters
labelthe label to find back the entry requested.

◆ clearEntries()

virtual void nkWinUi::ComboBox::clearEntries ( )
virtual

Clear all entries from the combo box. Entries memory will be freed.

◆ exportIntrospection()

virtual void nkWinUi::ComboBox::exportIntrospection ( nkExport::Node rootNode)
overridevirtual

A basic exporting capability, for components inheriting. Components inheriting this class should rather reimplement this function to export their internal data.

Parameters
rootNodeThe root of the tree to export into.

Reimplemented from nkWinUi::Component.

◆ importClassFromTree()

virtual void nkWinUi::ComboBox::importClassFromTree ( nkExport::Node rootNode)
overridevirtual

A basic importing capability.

Parameters
rootNodeThe root of the tree to import from.

Reimplemented from nkWinUi::Component.

◆ operator=()

ComboBox& nkWinUi::ComboBox::operator= ( const ComboBox )
delete

Copy assignment operator.

◆ create()

static nkMemory::UniquePtr<ComboBox> nkWinUi::ComboBox::create ( System system = nullptr)
static

Creates a standalone component, linking it to a system, but no manager. This method can be used to allocate a component and manually manage its lifetime.

Parameters
systemThe system to create the component into. If left to nullptr, then the Singleton instance will be used.
Returns
The created component instance.

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