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

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

#include <custom.h>

Inheritance diagram for liblec::lecui::widgets::custom:
liblec::lecui::widgets::widget liblec::lecui::widgets::badge_widget

Public Member Functions

bool operator== (const custom &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 custom &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...
 
customtext (const std::string &text)
 Set the widget's text. More...
 
std::string & tooltip () override
 Get or set the widget's tooltip text. More...
 
customtooltip (const std::string &tooltip)
 Set the tooltip text. More...
 
badge_specsbadge () override
 Get or set the badge specs. More...
 
custombadge (const badge_specs &badge)
 Set the badge specs. More...
 
lecui::rectrect () override
 Get or set the position and dimensions of the widget. More...
 
customrect (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...
 
customon_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...
 
customcursor (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...
 
customfont (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...
 
customfont_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...
 
customcolor_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...
 
customcolor_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...
 
customcolor_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...
 
customcolor_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...
 
customcolor_disabled (const color &color_disabled)
 Set the widget's color when it is disabled. 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...
 

Static Public Member Functions

static customadd (containers::page &page, const std::string &alias=std::string())
 Add a custom widget to a container. More...
 
static customget (form &fm, const std::string &path)
 Get the specifications of a custom widget. More...
 

Public Attributes

std::function< void(void *_ID2D1HwndRenderTarget, void *_IDWriteFactory, void *_IWICImagingFactory)> on_create_resources = nullptr
 Handler for resource creation. The pointers need to be cast back to their Direct2D equivalents on the client side before they can be used. e.g. _ID2D1HwndRenderTarget can be cast using reinterpret_cast to a ID2D1HwndRenderTarget. This will be called internally by the library when device-specific resources associated with the Direct3D device need to be (re)created.
 
std::function< void()> on_discard_resources = nullptr
 Handler for discarding resources. This handler will be called internally by the library if the Direct3D device dissapears.
 
std::function< void(void *_D2D1_RECT_F, bool _enabled, bool _hit, bool _pressed, bool _selected)> on_render = nullptr
 Handler for rendering. All drawing should be done here. Information about the widget status are provided through the parameters, e.g. _selected is true if the widget is currently selected in the user interface and _pressed is true if the left mouse button has not yet been released after it was pressed down while the cursor was within the widget.
 

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.
 
- Protected Attributes inherited from liblec::lecui::widgets::badge_widget
badge_specs _badge
 The badge's specs.
 

Detailed Description

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

Member Function Documentation

◆ add()

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

Add a custom widget to a container.

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

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

◆ badge() [1/2]

badge_specs & liblec::lecui::widgets::custom::badge ( )
overridevirtual

Get or set the badge specs.

Returns
A reference to the badge specs.

Implements liblec::lecui::widgets::badge_widget.

◆ badge() [2/2]

custom & liblec::lecui::widgets::custom::badge ( const badge_specs badge)

Set the badge specs.

Parameters
badgeThe badge specs.
Returns
A reference to the modified object.

◆ color_disabled() [1/2]

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

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

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

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

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

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

◆ cursor() [1/2]

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

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

◆ font() [1/2]

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

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

custom & liblec::lecui::widgets::custom::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 custom & liblec::lecui::widgets::custom::get ( form fm,
const std::string &  path 
)
static

Get the specifications of a custom widget.

Parameters
fmA reference to the form.
pathThe full path to the widget, e.g. "sample_page/right_pane/tab_pane/tab_two/diagram".
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.

◆ on_resize() [1/2]

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

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

custom & liblec::lecui::widgets::custom::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::widgets::custom::text ( )
overridevirtual

Get or set the widget text.

Returns
A reference to the widget text.

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

◆ text() [2/2]

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

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