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

Pane container. To create an instance use the add static method. More...

#include <pane.h>

Inheritance diagram for liblec::lecui::containers::pane:
liblec::lecui::containers::pane_specs liblec::lecui::containers::page liblec::lecui::widgets::widget liblec::lecui::widgets::badge_widget

Public Member Functions

 pane (form &fm, const std::string &alias)
 Class constructor. More...
 
const lecui::size size () override
 Get the size of the pane's page. More...
 
- Public Member Functions inherited from liblec::lecui::containers::pane_specs
bool operator== (const pane_specs &param)
 Check whether pane specs are equal. Only those properties that require the widget resources to be re-created are considered. More...
 
bool operator!= (const pane_specs &param)
 Check whether pane 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...
 
pane_specstext (const std::string &text)
 Set the widget's text. More...
 
std::string & tooltip () override
 Get or set the widget's tooltip text. More...
 
pane_specstooltip (const std::string &tooltip)
 Set the tooltip text. More...
 
widgets::badge_specsbadge () override
 Get or set the badge specs. More...
 
pane_specsbadge (const widgets::badge_specs &badge)
 Set the badge specs. More...
 
lecui::rectrect () override
 Get or set the position and dimensions of the widget. More...
 
pane_specsrect (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...
 
pane_specson_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...
 
pane_specscursor (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...
 
pane_specsfont (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...
 
pane_specsfont_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...
 
pane_specscolor_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...
 
pane_specscolor_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...
 
pane_specscolor_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...
 
pane_specscolor_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...
 
pane_specscolor_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...
 
pane_specsborder (const float &border)
 Set the thickness of the border. More...
 
colorcolor_border ()
 Get or set the color of the border. More...
 
pane_specscolor_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...
 
pane_specscorner_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...
 
pane_specscorner_radius_y (const float &corner_radius_y)
 Set the vertical radius of the corners. 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...
 
- Public Member Functions inherited from liblec::lecui::widgets::badge_widget
bool operator== (const badge_widget &param)
 Check whether two badges are equal. Only those badge properties that require the badge's resources to be re-created are considered. More...
 
bool operator!= (const badge_widget &param)
 Check whether two badges are NOT equal. Only those badge properties that require the badge's resources to be re-created are considered. More...
 
virtual badge_specsbadge ()=0
 Get or set the widget's badge. More...
 
- Public Member Functions inherited from liblec::lecui::containers::page
 page (form &fm, const std::string &alias)
 Page constructor. More...
 
virtual const size size ()
 Get the size of the page. More...
 
const bool rendered ()
 Check whether the page has been rendered. More...
 
virtual const lecui::size change_in_size ()
 Get the page's change in size. More...
 
void scroll_vertically (const float &amount)
 Programmatically scroll the page vertically. More...
 
void scroll_horizontally (const float &amount)
 Programmatically scroll the page horizontally. More...
 

Static Public Member Functions

static paneadd (containers::page &page, const std::string &alias=std::string(), const float &content_margin=10.f)
 Make a pane. More...
 
static paneget (form &fm, const std::string &path)
 Get the specifications of a pane. More...
 

Additional Inherited Members

- Public Types inherited from liblec::lecui::widgets::widget
enum class  cursor_type { arrow , hand , caret }
 Mouse cursor type. More...
 
- Protected Member Functions inherited from liblec::lecui::containers::page
 page (const page &)=delete
 
pageoperator= (const page &)=delete
 
- 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.
 
- Protected Attributes inherited from liblec::lecui::widgets::badge_widget
badge_specs _badge
 The badge's specs.
 
- Protected Attributes inherited from liblec::lecui::containers::page
impl & _d_page
 Reference to page implementation.
 

Detailed Description

Pane container. To create an instance use the add static method.

Any widget can be added to this container. Consequently, recursion is fully supported, allowing panes within panes, to virtually any depth level that the memory of the computer the app is running on can permit.

Constructor & Destructor Documentation

◆ pane()

liblec::lecui::containers::pane::pane ( form fm,
const std::string &  alias 
)

Class constructor.

Parameters
fmA reference to the form.
aliasThe pane's unique alias.

///

Never to be called directly. This is called interfally by the library when the add static method is called.

Member Function Documentation

◆ add()

static pane & liblec::lecui::containers::pane::add ( containers::page page,
const std::string &  alias = std::string(),
const float &  content_margin = 10.f 
)
static

Make a pane.

Parameters
pageA reference to the container to place the pane in.
aliasThe in-page unique alias, e.g. "settings_pane".
content_marginThe margin to use inside the pane.
Returns
A reference to the pane.

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

◆ get()

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

Get the specifications of a pane.

Parameters
fmA reference to the form.
pathThe full path to the pane, e.g. "sample_page/settings_pane".
Returns
A reference to the pane.

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

◆ size()

const lecui::size liblec::lecui::containers::pane::size ( )
overridevirtual

Get the size of the pane's page.

Returns
The size, in pixels.

The size is automatically determined by the library. It is important to note that any widgets added to a page, and any other container for that matter, only see the dimensions and coordinates of that container not those of the form or another container higher up the hierarchy. Dimensions and coordinates are local to a container.

Reimplemented from liblec::lecui::containers::page.


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