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::tree_view Class Reference

Tree view widget. To create an instance use the add static method. More...

#include <tree_view.h>

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

Classes

class  node
 Tree node. More...
 
struct  tree_view_events
 Tree view widget events. More...
 

Public Member Functions

 tree_view ()
 Constructor.
 
tree_view_eventsevents ()
 Get or set tree view widget events. More...
 
bool operator== (const tree_view &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 tree_view &param)
 Check whether widget specs are NOT equal. Only those properties that require the widget resources to be re-created are considered. More...
 
tree_viewoperator= (const tree_view &param)
 Copy tree view specs. Only essential properties are copied. More...
 
 tree_view (const tree_view &param)
 Copy constructor. More...
 
std::string & text () override
 Get or set the widget text. More...
 
tree_viewtext (const std::string &text)
 Set the widget's text. More...
 
std::string & tooltip () override
 Get or set the widget's tooltip text. More...
 
tree_viewtooltip (const std::string &tooltip)
 Set the tooltip text. More...
 
lecui::rectrect () override
 Get or set the position and dimensions of the widget. More...
 
tree_viewrect (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...
 
tree_viewon_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...
 
tree_viewcursor (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...
 
tree_viewfont (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...
 
tree_viewfont_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...
 
tree_viewcolor_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...
 
tree_viewcolor_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...
 
tree_viewcolor_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...
 
tree_viewcolor_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...
 
tree_viewcolor_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...
 
tree_viewborder (const float &border)
 Set the thickness of the border. More...
 
colorcolor_border ()
 Get or set the color of the border. More...
 
tree_viewcolor_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...
 
tree_viewcorner_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...
 
tree_viewcorner_radius_y (const float &corner_radius_y)
 Set the vertical radius of the corners. More...
 
std::map< std::string, node > & root ()
 Get or set the root of the tree. More...
 
tree_viewroot (const std::map< std::string, node > &root)
 Set the root of the tree. 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 nodeinsert_node (std::map< std::string, node > &root, std::string name)
 Helper for inserting a node. More...
 
static tree_viewadd (containers::page &page, const std::string &alias=std::string())
 Add a tree view to a container. More...
 
static tree_viewget (form &fm, const std::string &path)
 Get the specifications of a tree view. 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

Tree view widget. To create an instance use the add static method.

Default size is 200x200px.

Constructor & Destructor Documentation

◆ tree_view()

liblec::lecui::widgets::tree_view::tree_view ( const tree_view param)

Copy constructor.

Parameters
paramThe table view specs to copy.

Member Function Documentation

◆ add()

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

Add a tree view to a container.

Parameters
pageThe container to place the widget in.
aliasThe in-page unique alias, e.g. "database_browser".
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::tree_view::border ( )

Get or set the thickness of the border.

Returns
A reference to the border thickness, in pixels.

◆ border() [2/2]

tree_view & liblec::lecui::widgets::tree_view::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::tree_view::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]

tree_view & liblec::lecui::widgets::tree_view::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::widgets::tree_view::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]

tree_view & liblec::lecui::widgets::tree_view::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::widgets::tree_view::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]

tree_view & liblec::lecui::widgets::tree_view::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::widgets::tree_view::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]

tree_view & liblec::lecui::widgets::tree_view::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::tree_view::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]

tree_view & liblec::lecui::widgets::tree_view::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::tree_view::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]

tree_view & liblec::lecui::widgets::tree_view::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::tree_view::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]

tree_view & liblec::lecui::widgets::tree_view::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::tree_view::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]

tree_view & liblec::lecui::widgets::tree_view::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::tree_view::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]

tree_view & liblec::lecui::widgets::tree_view::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.

◆ events()

tree_view_events & liblec::lecui::widgets::tree_view::events ( )
inline

Get or set tree view widget events.

Returns
A reference to the tree view widget events.

◆ font() [1/2]

std::string & liblec::lecui::widgets::tree_view::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]

tree_view & liblec::lecui::widgets::tree_view::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::tree_view::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]

tree_view & liblec::lecui::widgets::tree_view::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.

◆ get()

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

Get the specifications of a tree view.

Parameters
fmA reference to the form.
pathThe full path to the widget, e.g. admin_page/system_pane/database_browser.
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.

◆ insert_node()

static node & liblec::lecui::widgets::tree_view::insert_node ( std::map< std::string, node > &  root,
std::string  name 
)
inlinestatic

Helper for inserting a node.

Parameters
rootA reference to the root.
nameThe name of the node being added.
Returns
A reference to the node that's been added.

Throws on failure.

◆ on_resize() [1/2]

resize_params & liblec::lecui::widgets::tree_view::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]

tree_view & liblec::lecui::widgets::tree_view::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::tree_view::operator!= ( const tree_view 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=()

tree_view & liblec::lecui::widgets::tree_view::operator= ( const tree_view param)

Copy tree view specs. Only essential properties are copied.

Parameters
paramThe table view specs to copy.
Returns
Returns a reference to the copy.

◆ operator==()

bool liblec::lecui::widgets::tree_view::operator== ( const tree_view 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::widgets::tree_view::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]

tree_view & liblec::lecui::widgets::tree_view::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.

◆ root() [1/2]

std::map< std::string, node > & liblec::lecui::widgets::tree_view::root ( )

Get or set the root of the tree.

Returns
A reference to the root.

The entire tree is built recursively on this root.

◆ root() [2/2]

tree_view & liblec::lecui::widgets::tree_view::root ( const std::map< std::string, node > &  root)

Set the root of the tree.

Parameters
rootThe root.
Returns
A reference to the modified object.

◆ text() [1/2]

std::string & liblec::lecui::widgets::tree_view::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]

tree_view & liblec::lecui::widgets::tree_view::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::widgets::tree_view::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]

tree_view & liblec::lecui::widgets::tree_view::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.


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