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

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

#include <group.h>

Inheritance diagram for liblec::lecui::containers::group:
liblec::lecui::widgets::widget

Public Member Functions

 group ()
 Class constructor.
 
bool operator== (const group &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 group &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...
 
grouptext (const std::string &text)
 Set the widget's text. More...
 
std::string & tooltip () override
 Get or set the widget's tooltip text. More...
 
grouptooltip (const std::string &tooltip)
 Set the tooltip text. More...
 
lecui::rectrect () override
 Get or set the position and dimensions of the widget. More...
 
grouprect (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...
 
groupon_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...
 
groupcursor (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...
 
groupfont (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...
 
groupfont_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...
 
groupcolor_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...
 
groupcolor_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...
 
groupcolor_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...
 
groupcolor_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...
 
groupcolor_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...
 
groupborder (const float &border)
 Set the thickness of the border. More...
 
colorcolor_border ()
 Get or set the color of the border. More...
 
groupcolor_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...
 
groupcorner_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...
 
groupcorner_radius_y (const float &corner_radius_y)
 Set the vertical radius of the corners. More...
 
float & margin ()
 Get or set the group's margin. Defines how far we extend outside the collective group rectangles. More...
 
groupmargin (const float &margin)
 Set the group's margin. Defines how far we extend outside the collective group rectangles. More...
 
std::vector< std::string > & widgets ()
 Get or set the list of the aliases for the widgets to be added to the group. e.g. { "username_text_field", "password_text_field", "login_button" }. More...
 
groupwidgets (const std::vector< std::string > &widgets)
 Set the list of the aliases for the widgets to be added to the group. e.g. { "username_text_field", "password_text_field", "login_button" }. 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 groupadd (containers::page &page, const std::string &alias=std::string())
 Create a group. More...
 
static groupget (form &fm, const std::string &path)
 Get the specifications of a group. 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

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

A group does not change the widget path, e.g. A widget located at "home_page/tab_pane/tab three/pane_two/label" keeps that location even after being added to a group. Never add a group name to a path. Groups are strictly for aesthetics and they don't "carry" the widgets that belong to them like other containers.

Member Function Documentation

◆ add()

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

Create a group.

Parameters
pageThe container to make the group in.
aliasThe in-page unique alias, e.g. "left_group".
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::containers::group::border ( )

Get or set the thickness of the border.

Returns
A reference to the border thickness, in pixels.

◆ border() [2/2]

group & liblec::lecui::containers::group::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::containers::group::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]

group & liblec::lecui::containers::group::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_disabled() [1/2]

color & liblec::lecui::containers::group::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]

group & liblec::lecui::containers::group::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_fill() [1/2]

color & liblec::lecui::containers::group::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]

group & liblec::lecui::containers::group::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_hot() [1/2]

color & liblec::lecui::containers::group::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.

This property is not used.

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

◆ color_hot() [2/2]

group & liblec::lecui::containers::group::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.

This property is not used.

◆ color_selected() [1/2]

color & liblec::lecui::containers::group::color_selected ( )
overridevirtual

Get or set the widget's color when selected.

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

This property is not used.

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

◆ color_selected() [2/2]

group & liblec::lecui::containers::group::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.

This property is not used.

◆ color_text() [1/2]

color & liblec::lecui::containers::group::color_text ( )
overridevirtual

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

Returns
A reference to the widget's text color.

This property is not used.

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

◆ color_text() [2/2]

group & liblec::lecui::containers::group::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.

This property is not used.

◆ corner_radius_x() [1/2]

float & liblec::lecui::containers::group::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]

group & liblec::lecui::containers::group::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::containers::group::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]

group & liblec::lecui::containers::group::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::containers::group::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.

This property is not used.

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

◆ cursor() [2/2]

group & liblec::lecui::containers::group::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.

This property is not used.

◆ font() [1/2]

std::string & liblec::lecui::containers::group::font ( )
overridevirtual

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

Returns
A reference to the widget's font name.

This property is not used.

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

◆ font() [2/2]

group & liblec::lecui::containers::group::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.

This property is not used.

◆ font_size() [1/2]

float & liblec::lecui::containers::group::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.

This property is not used.

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

◆ font_size() [2/2]

group & liblec::lecui::containers::group::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.

This property is not used.

◆ get()

static group & liblec::lecui::containers::group::get ( form fm,
const std::string &  path 
)
static

Get the specifications of a group.

Parameters
fmA reference to the form.
pathThe full path to the group, e.g. "sample_page/left_group".
Returns
A reference to the group specifications.

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

◆ margin() [1/2]

float & liblec::lecui::containers::group::margin ( )

Get or set the group's margin. Defines how far we extend outside the collective group rectangles.

Returns
A reference to the margin, in pixels.

◆ margin() [2/2]

group & liblec::lecui::containers::group::margin ( const float &  margin)

Set the group's margin. Defines how far we extend outside the collective group rectangles.

Parameters
marginThe margin, in pixels.
Returns
A reference to the modified object.

◆ on_resize() [1/2]

resize_params & liblec::lecui::containers::group::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]

group & liblec::lecui::containers::group::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::containers::group::operator!= ( const group 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::containers::group::operator== ( const group 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.

◆ rect() [1/2]

lecui::rect & liblec::lecui::containers::group::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]

group & liblec::lecui::containers::group::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.

◆ text() [1/2]

std::string & liblec::lecui::containers::group::text ( )
overridevirtual

Get or set the widget text.

Returns
A reference to the widget text.

This property is not used.

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

◆ text() [2/2]

group & liblec::lecui::containers::group::text ( const std::string &  text)

Set the widget's text.

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

This property is not used.

◆ tooltip() [1/2]

std::string & liblec::lecui::containers::group::tooltip ( )
overridevirtual

Get or set the widget's tooltip text.

Returns
A reference to the tooltip text.

This property is not used.

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

◆ tooltip() [2/2]

group & liblec::lecui::containers::group::tooltip ( const std::string &  tooltip)

Set the tooltip text.

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

This property is not used.

◆ widgets() [1/2]

std::vector< std::string > & liblec::lecui::containers::group::widgets ( )

Get or set the list of the aliases for the widgets to be added to the group. e.g. { "username_text_field", "password_text_field", "login_button" }.

Returns
A reference to the list of aliases.

◆ widgets() [2/2]

group & liblec::lecui::containers::group::widgets ( const std::vector< std::string > &  widgets)

Set the list of the aliases for the widgets to be added to the group. e.g. { "username_text_field", "password_text_field", "login_button" }.

Parameters
widgetsThe list of aliases.
Returns
A reference to the modified object.

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