lecui 1.0.0-alpha.20
lecui C++ user interface library
Classes | Public Member Functions | Static Public Member Functions | List of all members
liblec::lecui::widgets::combobox Class Reference

Combobox widget. To instantiate and add to a container use the add static method. More...

#include <combobox.h>

Inheritance diagram for liblec::lecui::widgets::combobox:
liblec::lecui::widgets::widget

Classes

struct  combobox_events
 Events specific to this widget. More...
 
struct  combobox_item
 A combobox item. More...
 

Public Member Functions

 combobox ()
 Constructor.
 
combobox_eventsevents ()
 Get or set combobox events. More...
 
bool operator== (const combobox &param)
 Check whether widget specs are equal. Only those properties that require the widget resources to be re-created are considered. More...
 
bool operator!= (const combobox &param)
 Check whether widget specs are NOT equal. Only those properties that require the widget resources to be re-created are considered. More...
 
std::string & text () override
 Get or set the widget text. More...
 
comboboxtext (const std::string &text)
 Set the widget's text. More...
 
std::string & tooltip () override
 Get or set the widget's tooltip text. More...
 
comboboxtooltip (const std::string &tooltip)
 Set the tooltip text. More...
 
lecui::rectrect () override
 Get or set the position and dimensions of the widget. More...
 
comboboxrect (const lecui::rect &rect)
 Set the position and dimensions of the widget. More...
 
resize_paramson_resize () override
 Get or set the behaviour of the widget when its container is resized. More...
 
comboboxon_resize (const resize_params &on_resize)
 Set the behaviour of the widget when its container is resized. More...
 
cursor_typecursor () override
 Get or set the mouse cursor to use then over the widget. More...
 
comboboxcursor (const cursor_type cursor)
 Set the mouse cursor to use when over the widget. More...
 
std::string & font () override
 Get or set the default widget font, e.g. "Georgia". More...
 
comboboxfont (const std::string &font)
 Set the default widget font. More...
 
float & font_size () override
 Get or set the default widget font size in points, e.g. 9.0f. More...
 
comboboxfont_size (const float &font_size)
 Set the widget's font size. More...
 
colorcolor_text () override
 Get or set the color of the widget's text. More...
 
comboboxcolor_text (const color &color_text)
 Set the color of the widget's text. More...
 
colorcolor_fill () override
 Get or set the fill color of the widget. More...
 
comboboxcolor_fill (const color &color_fill)
 Set the fill color of the widget. More...
 
colorcolor_hot () override
 Get or set the widget's color when the mouse is hovered over it. More...
 
comboboxcolor_hot (const color &color_hot)
 Set the widget's color when the mouse is hovered over it. More...
 
colorcolor_selected () override
 Get or set the widget's color when selected. More...
 
comboboxcolor_selected (const color &color_selected)
 Set the widget's color when selected. More...
 
colorcolor_disabled () override
 Get or set the widget's color when it is disabled. More...
 
comboboxcolor_disabled (const color &color_disabled)
 Set the widget's color when it is disabled. More...
 
float & border ()
 Get or set the thickness of the border. More...
 
comboboxborder (const float &border)
 Set the thickness of the border. More...
 
colorcolor_border ()
 Get or set the color of the border. More...
 
comboboxcolor_border (const color &color_border)
 Set the color of the border. More...
 
float & corner_radius_x ()
 Get or set the horizontal radius of the corners. More...
 
comboboxcorner_radius_x (const float &corner_radius_x)
 Set the horizontal radius of the corners. More...
 
float & corner_radius_y ()
 Get or set the vertical radius of the corners. More...
 
comboboxcorner_radius_y (const float &corner_radius_y)
 Set the vertical radius of the corners. More...
 
bool & editable ()
 Get or set the combobox editable property. More...
 
comboboxeditable (const bool &editable)
 Set the combobox editable property. More...
 
colorcolor_fill_editable ()
 Get or set the fill color of an editable combobox. More...
 
comboboxcolor_fill_editable (const color &color_fill_editable)
 Set the fill color of an editable combobox. More...
 
colorcolor_caret ()
 Get or set the color of the caret. More...
 
comboboxcolor_caret (const color &color_caret)
 Set the color of the caret. More...
 
colorcolor_dropdown ()
 Get or set the color of the dropdown. More...
 
comboboxcolor_dropdown (const color &color_dropdown)
 Set the color of the dropdown. More...
 
colorcolor_dropdown_hot ()
 Get or set the color of the dropdown when the mouse is hovered over it. More...
 
comboboxcolor_dropdown_hot (const color &color_dropdown_hot)
 Set the color of the dropdown when the mouse is hovered over it. More...
 
colorcolor_dropdown_arrow ()
 Get or set the color of the dropdown arrow. More...
 
comboboxcolor_dropdown_arrow (const color &color_dropdown_arrow)
 Set the color of the dropdown arrow. More...
 
colorcolor_dropdown_arrow_hot ()
 Get or set the color of the dropdown arrow when the mouse is hovered over it. More...
 
comboboxcolor_dropdown_arrow_hot (const color &color_dropdown_arrow_hot)
 Set the color of the dropdown arrow when the mouse is hovered over it. More...
 
std::vector< combobox_item > & items ()
 Get or set the list of combobox items. More...
 
comboboxitems (const std::vector< combobox_item > &items)
 Set the list of combobox items. More...
 
image_qualityquality ()
 Get or set the quality of the images. More...
 
comboboxquality (const image_quality &quality)
 Set the quality of the images. More...
 
sort_optionssort ()
 Get or set the sort options. More...
 
comboboxsort (const sort_options &sort)
 Set the sort options. More...
 
bool & force_numerical_sort ()
 Get or set whether numerical sorting is forced. More...
 
comboboxforce_numerical_sort (const bool &force_numerical_sort)
 Set whether numerical sorting is forced. More...
 
std::string & selected ()
 Get or set the selected item. More...
 
comboboxselected (const std::string &selected)
 Set the selected item. More...
 
- Public Member Functions inherited from liblec::lecui::widgets::widget
 widget ()
 Widget constructor.
 
virtual ~widget ()
 Widget descructor.
 
bool operator== (const widget &param)
 Check whether widget's basic specifications are equal. Only those properties that require the widget's basic resources to be re-created are considered. More...
 
bool operator!= (const widget &param)
 Check whether widget's basic specifications are NOT equal. Only those properties that require the widget's basic resources to be re-created are considered. More...
 
virtual std::string & text ()=0
 Get or set the widget text. More...
 
virtual std::string & tooltip ()=0
 Get or set the widget's tooltip text. More...
 
virtual lecui::rectrect ()=0
 Get or set the position and dimensions of the widget. More...
 
virtual resize_paramson_resize ()=0
 Get or set the behaviour of the widget when its container is resized. More...
 
virtual cursor_typecursor ()=0
 Get or set the mouse cursor to use then over the widget. More...
 
virtual std::string & font ()=0
 Get or set the default widget font, e.g. "Georgia". More...
 
virtual float & font_size ()=0
 Get or set the default widget font size in points, e.g. 9.0f. More...
 
virtual colorcolor_text ()=0
 Get or set the color of the widget's text. More...
 
virtual colorcolor_fill ()=0
 Get or set the fill color of the widget. More...
 
virtual colorcolor_hot ()=0
 Get or set the widget's color when the mouse is hovered over it. More...
 
virtual colorcolor_selected ()=0
 Get or set the widget's color when selected. More...
 
virtual colorcolor_disabled ()=0
 Get or set the widget's color when it's disabled. More...
 
basic_eventsevents ()
 Widget events. More...
 
const std::string & alias ()
 The widget's alias, either user defined or automatically generated by the library. More...
 

Static Public Member Functions

static comboboxadd (containers::page &page, const std::string &alias=std::string())
 Add a combobox to a container. More...
 
static comboboxget (form &fm, const std::string &path)
 Get the specifications of a combobox. More...
 

Additional Inherited Members

- Public Types inherited from liblec::lecui::widgets::widget
enum class  cursor_type { arrow , hand , caret }
 Mouse cursor type. More...
 
- Protected Attributes inherited from liblec::lecui::widgets::widget
std::string _text
 The widget's text.
 
std::string _tooltip
 The widget's tooltip text.
 
lecui::rect _rect
 The widget's rectangle.
 
resize_params _on_resize = { 0.f, 0.f, 0.f, 0.f }
 The widget's behaviour when container is resized.
 
cursor_type _cursor = cursor_type::arrow
 The widget's cursor.
 
std::string _font = "Segoe UI"
 The widget's font.
 
float _font_size = 9.f
 The widget's font size.
 
color _color_text = { 0, 0, 0, 255 }
 The color of the widget's text.
 
color _color_fill = { 0, 120, 170, 255 }
 The fill color of the widget.
 
color _color_hot = { 0, 120, 170, 255 }
 The color to indicate when the mouse hovers over the widget.
 
color _color_selected = { 0, 120, 170, 30 }
 The color to indicate when the widget is selected.
 
color _color_disabled = { 180, 180, 180, 255 }
 The color to indicate when the widget is disabled.
 

Detailed Description

Combobox widget. To instantiate and add to a container use the add static method.

Recommended height with defaults is 25px

Member Function Documentation

◆ add()

static combobox & liblec::lecui::widgets::combobox::add ( containers::page page,
const std::string &  alias = std::string() 
)
static

Add a combobox to a container.

Parameters
pageThe container to place the widget in.
aliasThe in-page unique alias, e.g. "title".
Returns
A reference to the widget specifications.

If an empty alias is given an internally generated random alias will be assigned.

◆ border() [1/2]

float & liblec::lecui::widgets::combobox::border ( )

Get or set the thickness of the border.

Returns
A reference to the border thickness, in pixels.

◆ border() [2/2]

combobox & liblec::lecui::widgets::combobox::border ( const float &  border)

Set the thickness of the border.

Parameters
borderThe border thickness, in pixels.
Returns
A reference to the modified object.

◆ color_border() [1/2]

color & liblec::lecui::widgets::combobox::color_border ( )

Get or set the color of the border.

Returns
A reference to the border color, as defined in color.

◆ color_border() [2/2]

combobox & liblec::lecui::widgets::combobox::color_border ( const color color_border)

Set the color of the border.

Parameters
color_borderThe border color, as defined in color.
Returns
A reference to the modified object.

◆ color_caret() [1/2]

color & liblec::lecui::widgets::combobox::color_caret ( )

Get or set the color of the caret.

Returns
A reference to the caret color.

◆ color_caret() [2/2]

combobox & liblec::lecui::widgets::combobox::color_caret ( const color color_caret)

Set the color of the caret.

Parameters
color_caretThe color of the caret.
Returns
A reference to the modified object.

◆ color_disabled() [1/2]

color & liblec::lecui::widgets::combobox::color_disabled ( )
overridevirtual

Get or set the widget's color when it is disabled.

Returns
a reference to the property.

Implements liblec::lecui::widgets::widget.

◆ color_disabled() [2/2]

combobox & liblec::lecui::widgets::combobox::color_disabled ( const color color_disabled)

Set the widget's color when it is disabled.

Parameters
color_disabledThe color of the widget when it is disabled, as defined in color.
Returns
A reference to the modified object.

◆ color_dropdown() [1/2]

color & liblec::lecui::widgets::combobox::color_dropdown ( )

Get or set the color of the dropdown.

Returns
A reference to the color.

◆ color_dropdown() [2/2]

combobox & liblec::lecui::widgets::combobox::color_dropdown ( const color color_dropdown)

Set the color of the dropdown.

Parameters
color_dropdownThe color of the dropdown.
Returns
A reference to the modified object.

◆ color_dropdown_arrow() [1/2]

color & liblec::lecui::widgets::combobox::color_dropdown_arrow ( )

Get or set the color of the dropdown arrow.

Returns
A reference to the color.

◆ color_dropdown_arrow() [2/2]

combobox & liblec::lecui::widgets::combobox::color_dropdown_arrow ( const color color_dropdown_arrow)

Set the color of the dropdown arrow.

Parameters
color_dropdown_arrowThe color.
Returns
A reference to the modified object.

◆ color_dropdown_arrow_hot() [1/2]

color & liblec::lecui::widgets::combobox::color_dropdown_arrow_hot ( )

Get or set the color of the dropdown arrow when the mouse is hovered over it.

Returns
A reference to the color.

◆ color_dropdown_arrow_hot() [2/2]

combobox & liblec::lecui::widgets::combobox::color_dropdown_arrow_hot ( const color color_dropdown_arrow_hot)

Set the color of the dropdown arrow when the mouse is hovered over it.

Parameters
color_dropdown_arrow_hotThe color.
Returns
A reference to the modified object.

◆ color_dropdown_hot() [1/2]

color & liblec::lecui::widgets::combobox::color_dropdown_hot ( )

Get or set the color of the dropdown when the mouse is hovered over it.

Returns
A reference to the color.

◆ color_dropdown_hot() [2/2]

combobox & liblec::lecui::widgets::combobox::color_dropdown_hot ( const color color_dropdown_hot)

Set the color of the dropdown when the mouse is hovered over it.

Parameters
color_dropdown_hotThe color.
Returns
A reference to the modified object.

◆ color_fill() [1/2]

color & liblec::lecui::widgets::combobox::color_fill ( )
overridevirtual

Get or set the fill color of the widget.

Returns
A reference to the widget's fill color.

Implements liblec::lecui::widgets::widget.

◆ color_fill() [2/2]

combobox & liblec::lecui::widgets::combobox::color_fill ( const color color_fill)

Set the fill color of the widget.

Parameters
color_fillThe fill color.
Returns
A reference to the modified object.

◆ color_fill_editable() [1/2]

color & liblec::lecui::widgets::combobox::color_fill_editable ( )

Get or set the fill color of an editable combobox.

Returns
A reference to the color.

◆ color_fill_editable() [2/2]

combobox & liblec::lecui::widgets::combobox::color_fill_editable ( const color color_fill_editable)

Set the fill color of an editable combobox.

Returns
A reference to the modified object.

◆ color_hot() [1/2]

color & liblec::lecui::widgets::combobox::color_hot ( )
overridevirtual

Get or set the widget's color when the mouse is hovered over it.

Returns
A reference to the widget's hover color.

Implements liblec::lecui::widgets::widget.

◆ color_hot() [2/2]

combobox & liblec::lecui::widgets::combobox::color_hot ( const color color_hot)

Set the widget's color when the mouse is hovered over it.

Parameters
color_hotThe color.
Returns
A reference to the modified object.

◆ color_selected() [1/2]

color & liblec::lecui::widgets::combobox::color_selected ( )
overridevirtual

Get or set the widget's color when selected.

Returns
A reference to the widget's color when selected.

Implements liblec::lecui::widgets::widget.

◆ color_selected() [2/2]

combobox & liblec::lecui::widgets::combobox::color_selected ( const color color_selected)

Set the widget's color when selected.

Parameters
color_selectedThe widget's color when selected.
Returns
A reference to the modified object.

◆ color_text() [1/2]

color & liblec::lecui::widgets::combobox::color_text ( )
overridevirtual

Get or set the color of the widget's text.

Returns
A reference to the widget's text color.

Implements liblec::lecui::widgets::widget.

◆ color_text() [2/2]

combobox & liblec::lecui::widgets::combobox::color_text ( const color color_text)

Set the color of the widget's text.

Parameters
color_textThe color of the widget's text.
Returns
A reference to the modified object.

◆ corner_radius_x() [1/2]

float & liblec::lecui::widgets::combobox::corner_radius_x ( )

Get or set the horizontal radius of the corners.

Returns
A reference to the radius, in pixels.

◆ corner_radius_x() [2/2]

combobox & liblec::lecui::widgets::combobox::corner_radius_x ( const float &  corner_radius_x)

Set the horizontal radius of the corners.

Parameters
corner_radius_xThe horizontal radius of the corner, in pixels.
Returns
A reference to the modified object.

◆ corner_radius_y() [1/2]

float & liblec::lecui::widgets::combobox::corner_radius_y ( )

Get or set the vertical radius of the corners.

Returns
A reference to the radius, in pixels.

◆ corner_radius_y() [2/2]

combobox & liblec::lecui::widgets::combobox::corner_radius_y ( const float &  corner_radius_y)

Set the vertical radius of the corners.

Parameters
corner_radius_yThe horizontal radius of the corner, in pixels.
Returns
A reference to the modified object.

◆ cursor() [1/2]

cursor_type & liblec::lecui::widgets::combobox::cursor ( )
overridevirtual

Get or set the mouse cursor to use then over the widget.

Returns
A reference to the cursor type as defined in cursor_type.

Implements liblec::lecui::widgets::widget.

◆ cursor() [2/2]

combobox & liblec::lecui::widgets::combobox::cursor ( const cursor_type  cursor)

Set the mouse cursor to use when over the widget.

Parameters
cursorThe cursor type as defined in cursor_type.
Returns
A reference to the modified object.

◆ editable() [1/2]

bool & liblec::lecui::widgets::combobox::editable ( )

Get or set the combobox editable property.

Returns
A reference to the property.

◆ editable() [2/2]

combobox & liblec::lecui::widgets::combobox::editable ( const bool &  editable)

Set the combobox editable property.

Parameters
editableWhether to make the combobox editable.
Returns
A reference to the modified object.

◆ events()

combobox_events & liblec::lecui::widgets::combobox::events ( )
inline

Get or set combobox events.

Returns
A reference to the combobox events.

◆ font() [1/2]

std::string & liblec::lecui::widgets::combobox::font ( )
overridevirtual

Get or set the default widget font, e.g. "Georgia".

Returns
A reference to the widget's font name.

Implements liblec::lecui::widgets::widget.

◆ font() [2/2]

combobox & liblec::lecui::widgets::combobox::font ( const std::string &  font)

Set the default widget font.

Parameters
fontThe font's name, e.g. "Georgia".
Returns
A reference to the modified object.

◆ font_size() [1/2]

float & liblec::lecui::widgets::combobox::font_size ( )
overridevirtual

Get or set the default widget font size in points, e.g. 9.0f.

Returns
A reference to the widget's font size.

Implements liblec::lecui::widgets::widget.

◆ font_size() [2/2]

combobox & liblec::lecui::widgets::combobox::font_size ( const float &  font_size)

Set the widget's font size.

Parameters
font_sizeThe font size in points, e.g. 9.0f.
Returns
A reference to the modified object.

◆ force_numerical_sort() [1/2]

bool & liblec::lecui::widgets::combobox::force_numerical_sort ( )

Get or set whether numerical sorting is forced.

Returns
A reference to the property.

When only numbers are in the items list numerical sorting is used. The presence of at least one non-numeric character causes string sorting to be used instead. In those instances where you need numerical sorting to be used regardless of the presence of non-numeric characters this is the way to do it.

◆ force_numerical_sort() [2/2]

combobox & liblec::lecui::widgets::combobox::force_numerical_sort ( const bool &  force_numerical_sort)

Set whether numerical sorting is forced.

Parameters
force_numerical_sortWhether to force numerical sorting.
Returns
A reference to the modified object.

When only numbers are in the items list numerical sorting is used. The presence of at least one non-numeric character causes string sorting to be used instead. In those instances where you need numerical sorting to be used regardless of the presence of non-numeric characters this is the way to do it.

◆ get()

static combobox & liblec::lecui::widgets::combobox::get ( form fm,
const std::string &  path 
)
static

Get the specifications of a combobox.

Parameters
fmA reference to the form.
pathThe full path to the widget, e.g. "sample_page/sample_tab_pane/tab_one/title".
Returns
A reference to the widget specifications.

Throws on failure. For faster coding and more readable code consider calling this static method through the helper macro provided.

◆ items() [1/2]

std::vector< combobox_item > & liblec::lecui::widgets::combobox::items ( )

Get or set the list of combobox items.

Returns
A reference to the list.

◆ items() [2/2]

combobox & liblec::lecui::widgets::combobox::items ( const std::vector< combobox_item > &  items)

Set the list of combobox items.

Parameters
itemsThe list.
Returns
A reference to the modified object.

◆ on_resize() [1/2]

resize_params & liblec::lecui::widgets::combobox::on_resize ( )
overridevirtual

Get or set the behaviour of the widget when its container is resized.

Returns
A reference to the resize parameters as defined in resize_params.

Implements liblec::lecui::widgets::widget.

◆ on_resize() [2/2]

combobox & liblec::lecui::widgets::combobox::on_resize ( const resize_params on_resize)

Set the behaviour of the widget when its container is resized.

Parameters
on_resizeThe resize parameters as defined in resize_params.
Returns
A reference to the modified object.

◆ operator!=()

bool liblec::lecui::widgets::combobox::operator!= ( const combobox param)

Check whether widget specs are NOT equal. Only those properties that require the widget resources to be re-created are considered.

Parameters
paramThe specs to compare to.
Returns
Returns true if the specs are NOT equal, else false.

◆ operator==()

bool liblec::lecui::widgets::combobox::operator== ( const combobox param)

Check whether widget specs are equal. Only those properties that require the widget resources to be re-created are considered.

Parameters
paramThe specs to compare to.
Returns
Returns true if the specs are equal, else false.

◆ quality() [1/2]

image_quality & liblec::lecui::widgets::combobox::quality ( )

Get or set the quality of the images.

Returns
A reference to the image quality.

◆ quality() [2/2]

combobox & liblec::lecui::widgets::combobox::quality ( const image_quality quality)

Set the quality of the images.

Parameters
qualityThe quality, as defined in quality.
Returns
A reference to the modified object.

◆ rect() [1/2]

lecui::rect & liblec::lecui::widgets::combobox::rect ( )
overridevirtual

Get or set the position and dimensions of the widget.

Returns
A reference to the widget rectangle.

The position is in reference to the widget's container.

Implements liblec::lecui::widgets::widget.

◆ rect() [2/2]

combobox & liblec::lecui::widgets::combobox::rect ( const lecui::rect rect)

Set the position and dimensions of the widget.

Parameters
rectThe widget's rectangle.
Returns
A reference to the modified object.

◆ selected() [1/2]

std::string & liblec::lecui::widgets::combobox::selected ( )

Get or set the selected item.

Returns
A reference to the selected item.

Note that this is not always the same as the .text variable in an editable combobox. The .text in an editable combobox only becomes part of the list of items when the user presses the enter key. Only then can it be considered as a "selected" item.

◆ selected() [2/2]

combobox & liblec::lecui::widgets::combobox::selected ( const std::string &  selected)

Set the selected item.

Parameters
selectedThe selected item.
Returns
A reference to the modified object.

◆ sort() [1/2]

sort_options & liblec::lecui::widgets::combobox::sort ( )
inline

Get or set the sort options.

Returns
A reference to the sort options.

◆ sort() [2/2]

combobox & liblec::lecui::widgets::combobox::sort ( const sort_options sort)

Set the sort options.

Parameters
sortThe sort options, as defined in sort_options.
Returns
A reference to the modified object.

◆ text() [1/2]

std::string & liblec::lecui::widgets::combobox::text ( )
overridevirtual

Get or set the widget text.

Returns
A reference to the widget text.

Implements liblec::lecui::widgets::widget.

◆ text() [2/2]

combobox & liblec::lecui::widgets::combobox::text ( const std::string &  text)

Set the widget's text.

Parameters
textThe text.
Returns
A reference to the modified object.

◆ tooltip() [1/2]

std::string & liblec::lecui::widgets::combobox::tooltip ( )
overridevirtual

Get or set the widget's tooltip text.

Returns
A reference to the tooltip text.

Implements liblec::lecui::widgets::widget.

◆ tooltip() [2/2]

combobox & liblec::lecui::widgets::combobox::tooltip ( const std::string &  tooltip)

Set the tooltip text.

Parameters
tooltipThe tooltip text.
Returns
A reference to the modified object.

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