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

A graphical list box. More...

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

Classes

class  Item
 

Public Member Functions

 ListBox (System *system) noexcept
 
 ListBox (const ListBox &)=delete
 
virtual ~ListBox ()
 
ItemgetItemFromLabel (nkMemory::StringView label) const
 
ItemgetItemFromData (void *data) const
 
ItemgetItemFromIndex (unsigned int index) const
 
virtual ItemgetCurrentSelection () const
 
virtual int getCurrentSelectionIndex () const
 
std::function< void(ListBox *)> getSelectionCallback () const
 
unsigned int getItemCount () const
 
void setSelectionCallback (std::function< void(ListBox *)> value)
 
virtual IteminsertItem (nkMemory::StringView text, void *data)
 
virtual void * deleteItem (nkMemory::StringView name)
 
virtual void changeItemLabel (nkMemory::StringView oldText, nkMemory::StringView newText)
 
void changeItemData (nkMemory::StringView text, void *newData)
 
virtual bool setSelected (nkMemory::StringView text)
 
virtual bool setSelectedIndex (unsigned int index)
 
bool setSelectedData (void *data)
 
virtual void clearItems ()
 
virtual void exportIntrospection (nkExport::Node *rootNode) override
 
virtual void importClassFromTree (nkExport::Node *rootNode) override
 
ListBoxoperator= (const ListBox &)=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< ListBoxcreate (System *system=nullptr)
 

Detailed Description

A graphical list box.

Constructor & Destructor Documentation

◆ ListBox() [1/2]

nkWinUi::ListBox::ListBox ( System system)
noexcept

Constructor.

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

◆ ListBox() [2/2]

nkWinUi::ListBox::ListBox ( const ListBox )
delete

Copy destructor.

◆ ~ListBox()

virtual nkWinUi::ListBox::~ListBox ( )
virtual

Destructor.

Member Function Documentation

◆ getItemFromLabel()

Item* nkWinUi::ListBox::getItemFromLabel ( nkMemory::StringView  label) const
Parameters
labelThe label of the item to find.
Returns
The item with requested label if available, nullptr else.

◆ getItemFromData()

Item* nkWinUi::ListBox::getItemFromData ( void *  data) const
Parameters
dataThe data of the item to find.
Returns
The item with requested data if available, nullptr else.

◆ getItemFromIndex()

Item* nkWinUi::ListBox::getItemFromIndex ( unsigned int  index) const
Parameters
indexThe index of the item to find.
Returns
The item with requested index if available, nullptr else.

◆ getCurrentSelection()

virtual Item* nkWinUi::ListBox::getCurrentSelection ( ) const
virtual
Returns
Currently selected item if any, nullptr else.

◆ getCurrentSelectionIndex()

virtual int nkWinUi::ListBox::getCurrentSelectionIndex ( ) const
virtual
Returns
Currently selected item's index if available, -1 else.

◆ getSelectionCallback()

std::function<void (ListBox*)> nkWinUi::ListBox::getSelectionCallback ( ) const
Returns
Currently set callback for a selection change.

◆ getItemCount()

unsigned int nkWinUi::ListBox::getItemCount ( ) const
Returns
The item count in the list box.

◆ setSelectionCallback()

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

Sets the callback to use when a selection change happens.

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

◆ insertItem()

virtual Item* nkWinUi::ListBox::insertItem ( nkMemory::StringView  text,
void *  data 
)
virtual

Inserts an item in the list box.

Parameters
textThe label to set for the item.
dataThe user data to attach to the item.
Returns
The freshly created item.
Remarks
The ListBox owns the Item returned.

◆ deleteItem()

virtual void* nkWinUi::ListBox::deleteItem ( nkMemory::StringView  name)
virtual

Erases an item from the list. Memory linked will be freed.

Parameters
nameThe name of the item to free.

◆ changeItemLabel()

virtual void nkWinUi::ListBox::changeItemLabel ( nkMemory::StringView  oldText,
nkMemory::StringView  newText 
)
virtual

Changes a label attached to an existing item.

Parameters
oldTextThe old label of the item to change.
newTextThe new label to set for the item.

◆ changeItemData()

void nkWinUi::ListBox::changeItemData ( nkMemory::StringView  text,
void *  newData 
)

Changes the data attached to an existing item.

Parameters
textThe label of the item to change.
newDataThe new data to attach to the item.
Remarks
The item won't own the attached user data.

◆ setSelected()

virtual bool nkWinUi::ListBox::setSelected ( nkMemory::StringView  text)
virtual

Selects an item.

Parameters
textThe label of the item to select.
Returns
If an item could be selected (true) or not (false).

◆ setSelectedIndex()

virtual bool nkWinUi::ListBox::setSelectedIndex ( unsigned int  index)
virtual

Selects an item.

Parameters
indexThe index of the item to select.
Returns
If an item could be selected (true) or not (false).

◆ setSelectedData()

bool nkWinUi::ListBox::setSelectedData ( void *  data)

Selects an item.

Parameters
dataThe attached data the item to select has.
Returns
If an item could be selected (true) or not (false).

◆ clearItems()

virtual void nkWinUi::ListBox::clearItems ( )
virtual

Clears all items in the list box. Memory will be freed.

◆ exportIntrospection()

virtual void nkWinUi::ListBox::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::ListBox::importClassFromTree ( nkExport::Node rootNode)
overridevirtual

A basic importing capability.

Parameters
rootNodeThe root of the tree to import from.

Reimplemented from nkWinUi::Component.

◆ operator=()

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

Copy assignment.

◆ create()

static nkMemory::UniquePtr<ListBox> nkWinUi::ListBox::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: