lecui 1.0.0-alpha.20
lecui C++ user interface library
|
Base class for all widgets. More...
#include <widget.h>
Classes | |
struct | basic_events |
Events common to all widgets. More... | |
Public Types | |
enum class | cursor_type { arrow , hand , caret } |
Mouse cursor type. More... | |
Public Member Functions | |
widget () | |
Widget constructor. | |
virtual | ~widget () |
Widget descructor. | |
bool | operator== (const widget ¶m) |
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 ¶m) |
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::rect & | rect ()=0 |
Get or set the position and dimensions of the widget. More... | |
virtual resize_params & | on_resize ()=0 |
Get or set the behaviour of the widget when its container is resized. More... | |
virtual cursor_type & | cursor ()=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 color & | color_text ()=0 |
Get or set the color of the widget's text. More... | |
virtual color & | color_fill ()=0 |
Get or set the fill color of the widget. More... | |
virtual color & | color_hot ()=0 |
Get or set the widget's color when the mouse is hovered over it. More... | |
virtual color & | color_selected ()=0 |
Get or set the widget's color when selected. More... | |
virtual color & | color_disabled ()=0 |
Get or set the widget's color when it's disabled. More... | |
basic_events & | events () |
Widget events. More... | |
const std::string & | alias () |
The widget's alias, either user defined or automatically generated by the library. More... | |
Protected Attributes | |
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. | |
Base class for all widgets.
|
strong |
|
inline |
The widget's alias, either user defined or automatically generated by the library.
|
pure virtual |
Get or set the widget's color when it's disabled.
Implemented in liblec::lecui::containers::group, liblec::lecui::containers::pane_specs, liblec::lecui::containers::tab_pane, liblec::lecui::widgets::button, liblec::lecui::widgets::checkbox, liblec::lecui::widgets::combobox, liblec::lecui::widgets::custom, liblec::lecui::widgets::date, liblec::lecui::widgets::html_editor, liblec::lecui::widgets::icon, liblec::lecui::widgets::image_view, liblec::lecui::widgets::label, liblec::lecui::widgets::line, liblec::lecui::widgets::progress_bar, liblec::lecui::widgets::progress_indicator, liblec::lecui::widgets::rectangle, liblec::lecui::widgets::slider, liblec::lecui::widgets::strength_bar, liblec::lecui::widgets::table_view, liblec::lecui::widgets::text_field, liblec::lecui::widgets::time, liblec::lecui::widgets::toggle, and liblec::lecui::widgets::tree_view.
|
pure virtual |
Get or set the fill color of the widget.
The use of the fill color varies from widget to widget. Refer to the specific widget's documentation for details.
Implemented in liblec::lecui::containers::group, liblec::lecui::containers::pane_specs, liblec::lecui::containers::tab_pane, liblec::lecui::widgets::button, liblec::lecui::widgets::checkbox, liblec::lecui::widgets::combobox, liblec::lecui::widgets::custom, liblec::lecui::widgets::date, liblec::lecui::widgets::html_editor, liblec::lecui::widgets::icon, liblec::lecui::widgets::image_view, liblec::lecui::widgets::label, liblec::lecui::widgets::line, liblec::lecui::widgets::progress_bar, liblec::lecui::widgets::progress_indicator, liblec::lecui::widgets::rectangle, liblec::lecui::widgets::slider, liblec::lecui::widgets::strength_bar, liblec::lecui::widgets::table_view, liblec::lecui::widgets::text_field, liblec::lecui::widgets::time, liblec::lecui::widgets::toggle, and liblec::lecui::widgets::tree_view.
|
pure virtual |
Get or set the widget's color when the mouse is hovered over it.
The use of the hover color varies from widget to widget. Refer to the specific widget's documentation for details.
Implemented in liblec::lecui::containers::group, liblec::lecui::containers::pane_specs, liblec::lecui::containers::tab_pane, liblec::lecui::widgets::button, liblec::lecui::widgets::checkbox, liblec::lecui::widgets::combobox, liblec::lecui::widgets::custom, liblec::lecui::widgets::date, liblec::lecui::widgets::html_editor, liblec::lecui::widgets::icon, liblec::lecui::widgets::image_view, liblec::lecui::widgets::label, liblec::lecui::widgets::line, liblec::lecui::widgets::progress_bar, liblec::lecui::widgets::progress_indicator, liblec::lecui::widgets::rectangle, liblec::lecui::widgets::slider, liblec::lecui::widgets::strength_bar, liblec::lecui::widgets::table_view, liblec::lecui::widgets::text_field, liblec::lecui::widgets::time, liblec::lecui::widgets::toggle, and liblec::lecui::widgets::tree_view.
|
pure virtual |
Get or set the widget's color when selected.
Implemented in liblec::lecui::containers::group, liblec::lecui::containers::pane_specs, liblec::lecui::containers::tab_pane, liblec::lecui::widgets::button, liblec::lecui::widgets::checkbox, liblec::lecui::widgets::combobox, liblec::lecui::widgets::custom, liblec::lecui::widgets::date, liblec::lecui::widgets::html_editor, liblec::lecui::widgets::icon, liblec::lecui::widgets::image_view, liblec::lecui::widgets::label, liblec::lecui::widgets::line, liblec::lecui::widgets::progress_bar, liblec::lecui::widgets::progress_indicator, liblec::lecui::widgets::rectangle, liblec::lecui::widgets::slider, liblec::lecui::widgets::strength_bar, liblec::lecui::widgets::table_view, liblec::lecui::widgets::text_field, liblec::lecui::widgets::time, liblec::lecui::widgets::toggle, and liblec::lecui::widgets::tree_view.
|
pure virtual |
Get or set the color of the widget's text.
Implemented in liblec::lecui::containers::group, liblec::lecui::containers::pane_specs, liblec::lecui::containers::tab_pane, liblec::lecui::widgets::button, liblec::lecui::widgets::checkbox, liblec::lecui::widgets::combobox, liblec::lecui::widgets::custom, liblec::lecui::widgets::date, liblec::lecui::widgets::html_editor, liblec::lecui::widgets::icon, liblec::lecui::widgets::image_view, liblec::lecui::widgets::label, liblec::lecui::widgets::line, liblec::lecui::widgets::progress_bar, liblec::lecui::widgets::progress_indicator, liblec::lecui::widgets::rectangle, liblec::lecui::widgets::slider, liblec::lecui::widgets::strength_bar, liblec::lecui::widgets::table_view, liblec::lecui::widgets::text_field, liblec::lecui::widgets::time, liblec::lecui::widgets::toggle, and liblec::lecui::widgets::tree_view.
|
pure virtual |
Get or set the mouse cursor to use then over the widget.
This is only used if the widget is non-static.
Implemented in liblec::lecui::containers::group, liblec::lecui::containers::pane_specs, liblec::lecui::containers::tab_pane, liblec::lecui::widgets::button, liblec::lecui::widgets::checkbox, liblec::lecui::widgets::combobox, liblec::lecui::widgets::custom, liblec::lecui::widgets::date, liblec::lecui::widgets::html_editor, liblec::lecui::widgets::icon, liblec::lecui::widgets::image_view, liblec::lecui::widgets::label, liblec::lecui::widgets::line, liblec::lecui::widgets::progress_bar, liblec::lecui::widgets::progress_indicator, liblec::lecui::widgets::rectangle, liblec::lecui::widgets::slider, liblec::lecui::widgets::strength_bar, liblec::lecui::widgets::table_view, liblec::lecui::widgets::text_field, liblec::lecui::widgets::time, liblec::lecui::widgets::toggle, and liblec::lecui::widgets::tree_view.
|
inline |
Widget events.
Widgets with additional events need to override this method.
|
pure virtual |
Get or set the default widget font, e.g. "Georgia".
Implemented in liblec::lecui::containers::group, liblec::lecui::containers::pane_specs, liblec::lecui::containers::tab_pane, liblec::lecui::widgets::button, liblec::lecui::widgets::checkbox, liblec::lecui::widgets::combobox, liblec::lecui::widgets::custom, liblec::lecui::widgets::date, liblec::lecui::widgets::html_editor, liblec::lecui::widgets::icon, liblec::lecui::widgets::image_view, liblec::lecui::widgets::label, liblec::lecui::widgets::line, liblec::lecui::widgets::progress_bar, liblec::lecui::widgets::progress_indicator, liblec::lecui::widgets::rectangle, liblec::lecui::widgets::slider, liblec::lecui::widgets::strength_bar, liblec::lecui::widgets::table_view, liblec::lecui::widgets::text_field, liblec::lecui::widgets::time, liblec::lecui::widgets::toggle, and liblec::lecui::widgets::tree_view.
|
pure virtual |
Get or set the default widget font size in points, e.g. 9.0f.
Implemented in liblec::lecui::containers::group, liblec::lecui::containers::pane_specs, liblec::lecui::containers::tab_pane, liblec::lecui::widgets::button, liblec::lecui::widgets::checkbox, liblec::lecui::widgets::combobox, liblec::lecui::widgets::custom, liblec::lecui::widgets::date, liblec::lecui::widgets::html_editor, liblec::lecui::widgets::icon, liblec::lecui::widgets::image_view, liblec::lecui::widgets::label, liblec::lecui::widgets::line, liblec::lecui::widgets::progress_bar, liblec::lecui::widgets::progress_indicator, liblec::lecui::widgets::rectangle, liblec::lecui::widgets::slider, liblec::lecui::widgets::strength_bar, liblec::lecui::widgets::table_view, liblec::lecui::widgets::text_field, liblec::lecui::widgets::time, liblec::lecui::widgets::toggle, and liblec::lecui::widgets::tree_view.
|
pure virtual |
Get or set the behaviour of the widget when its container is resized.
Implemented in liblec::lecui::containers::group, liblec::lecui::containers::pane_specs, liblec::lecui::containers::tab_pane, liblec::lecui::widgets::button, liblec::lecui::widgets::checkbox, liblec::lecui::widgets::combobox, liblec::lecui::widgets::custom, liblec::lecui::widgets::date, liblec::lecui::widgets::html_editor, liblec::lecui::widgets::icon, liblec::lecui::widgets::image_view, liblec::lecui::widgets::label, liblec::lecui::widgets::line, liblec::lecui::widgets::progress_bar, liblec::lecui::widgets::progress_indicator, liblec::lecui::widgets::rectangle, liblec::lecui::widgets::slider, liblec::lecui::widgets::strength_bar, liblec::lecui::widgets::table_view, liblec::lecui::widgets::text_field, liblec::lecui::widgets::time, liblec::lecui::widgets::toggle, and liblec::lecui::widgets::tree_view.
bool liblec::lecui::widgets::widget::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.
param | The specs to compare to. |
bool liblec::lecui::widgets::widget::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.
param | The specs to compare to. |
|
pure virtual |
Get or set the position and dimensions of the widget.
Implemented in liblec::lecui::containers::group, liblec::lecui::containers::pane_specs, liblec::lecui::containers::tab_pane, liblec::lecui::widgets::button, liblec::lecui::widgets::checkbox, liblec::lecui::widgets::combobox, liblec::lecui::widgets::custom, liblec::lecui::widgets::date, liblec::lecui::widgets::html_editor, liblec::lecui::widgets::icon, liblec::lecui::widgets::image_view, liblec::lecui::widgets::label, liblec::lecui::widgets::line, liblec::lecui::widgets::progress_bar, liblec::lecui::widgets::progress_indicator, liblec::lecui::widgets::rectangle, liblec::lecui::widgets::slider, liblec::lecui::widgets::strength_bar, liblec::lecui::widgets::table_view, liblec::lecui::widgets::text_field, liblec::lecui::widgets::time, liblec::lecui::widgets::toggle, and liblec::lecui::widgets::tree_view.
|
pure virtual |
Get or set the widget text.
The use of the text varies from widget to widget. Some widgets don't use this field.
Implemented in liblec::lecui::containers::group, liblec::lecui::containers::pane_specs, liblec::lecui::containers::tab_pane, liblec::lecui::widgets::button, liblec::lecui::widgets::checkbox, liblec::lecui::widgets::combobox, liblec::lecui::widgets::custom, liblec::lecui::widgets::date, liblec::lecui::widgets::html_editor, liblec::lecui::widgets::icon, liblec::lecui::widgets::image_view, liblec::lecui::widgets::label, liblec::lecui::widgets::line, liblec::lecui::widgets::progress_bar, liblec::lecui::widgets::progress_indicator, liblec::lecui::widgets::rectangle, liblec::lecui::widgets::slider, liblec::lecui::widgets::strength_bar, liblec::lecui::widgets::table_view, liblec::lecui::widgets::text_field, liblec::lecui::widgets::time, liblec::lecui::widgets::toggle, and liblec::lecui::widgets::tree_view.
|
pure virtual |
Get or set the widget's tooltip text.
The tooltip text is displayed when the mouse is hovered over the widget.
Implemented in liblec::lecui::containers::group, liblec::lecui::containers::pane_specs, liblec::lecui::containers::tab_pane, liblec::lecui::widgets::button, liblec::lecui::widgets::checkbox, liblec::lecui::widgets::combobox, liblec::lecui::widgets::custom, liblec::lecui::widgets::date, liblec::lecui::widgets::html_editor, liblec::lecui::widgets::icon, liblec::lecui::widgets::image_view, liblec::lecui::widgets::label, liblec::lecui::widgets::line, liblec::lecui::widgets::progress_bar, liblec::lecui::widgets::progress_indicator, liblec::lecui::widgets::rectangle, liblec::lecui::widgets::slider, liblec::lecui::widgets::strength_bar, liblec::lecui::widgets::table_view, liblec::lecui::widgets::text_field, liblec::lecui::widgets::time, liblec::lecui::widgets::toggle, and liblec::lecui::widgets::tree_view.