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

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

#include <text_field.h>

Inheritance diagram for liblec::lecui::widgets::text_field:
liblec::lecui::widgets::widget liblec::lecui::widgets::password_field

Classes

struct  text_field_events
 Events specific to this widget. More...
 

Public Member Functions

 text_field ()
 Constructor.
 
text_field_eventsevents ()
 Text field events. More...
 
bool operator== (const text_field &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 text_field &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...
 
text_fieldtext (const std::string &text)
 Set the widget's text. More...
 
std::string & tooltip () override
 Get or set the widget's tooltip text. More...
 
text_fieldtooltip (const std::string &tooltip)
 Set the tooltip text. More...
 
lecui::rectrect () override
 Get or set the position and dimensions of the widget. More...
 
text_fieldrect (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...
 
text_fieldon_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...
 
text_fieldcursor (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...
 
text_fieldfont (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...
 
text_fieldfont_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...
 
text_fieldcolor_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...
 
text_fieldcolor_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...
 
text_fieldcolor_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...
 
text_fieldcolor_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...
 
text_fieldcolor_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...
 
text_fieldborder (const float &border)
 Set the thickness of the border. More...
 
colorcolor_border ()
 Get or set the color of the border. More...
 
text_fieldcolor_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...
 
text_fieldcorner_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...
 
text_fieldcorner_radius_y (const float &corner_radius_y)
 Set the vertical radius of the corners. More...
 
std::string & prompt ()
 Get or set the text to be displayed when the widget is empty. More...
 
text_fieldprompt (const std::string &prompt)
 Set the text to be displayed when the widget is empty. More...
 
colorcolor_prompt ()
 Get or set the color of the prompt text. More...
 
text_fieldcolor_prompt (const color &color_prompt)
 Set the color of the prompt text. More...
 
colorcolor_caret ()
 Get or set the color of the caret. More...
 
text_fieldcolor_caret (const color &color_caret)
 Set the color of the caret. More...
 
colorcolor_input_error ()
 Get or set the color to show that there has been an input error. More...
 
text_fieldcolor_input_error (const color &color_input_error)
 Set the color to show that there has been an input error. More...
 
std::set< char > & allowed_characters ()
 Get or set the character set to limit input to. More...
 
text_fieldallowed_characters (const std::set< char > &allowed_characters)
 Set the character set to limit input to. More...
 
std::set< char > & forbidden_characters ()
 Get or set the set of characters to prevent from being typed in. More...
 
text_fieldforbidden_characters (const std::set< char > &forbidden_characters)
 Set the set of characters to prevent from being typed in. More...
 
int & maximum_length ()
 Get or set the maximum length of the input string. 0 means unlimited length. More...
 
text_fieldmaximum_length (const int &maximum_length)
 Set the maximum length of the input string. 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 text_fieldadd (containers::page &page, const std::string &alias=std::string())
 Add a text field to a container. More...
 
static text_fieldget (form &fm, const std::string &path)
 Get the specifications of a text field. 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

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

Recommended size with defaults is 200x25px

Member Function Documentation

◆ add()

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

Add a text field to a container.

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

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

◆ allowed_characters() [1/2]

std::set< char > & liblec::lecui::widgets::text_field::allowed_characters ( )

Get or set the character set to limit input to.

Returns
A reference to the character set.

An empty character set means there is no limit.

◆ allowed_characters() [2/2]

text_field & liblec::lecui::widgets::text_field::allowed_characters ( const std::set< char > &  allowed_characters)

Set the character set to limit input to.

Parameters
allowed_charactersThe character set. An empty character set means there is no limit.
Returns
A reference to the modified object.

◆ border() [1/2]

float & liblec::lecui::widgets::text_field::border ( )

Get or set the thickness of the border.

Returns
A reference to the border thickness, in pixels.

◆ border() [2/2]

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

text_field & liblec::lecui::widgets::text_field::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_caret() [1/2]

color & liblec::lecui::widgets::text_field::color_caret ( )

Get or set the color of the caret.

Returns
A reference to the color.

◆ color_caret() [2/2]

text_field & liblec::lecui::widgets::text_field::color_caret ( const color color_caret)

Set the color of the caret.

Parameters
color_caretThe color of to use for the caret.
Returns
A reference to the modified object.

◆ color_disabled() [1/2]

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

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

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

text_field & liblec::lecui::widgets::text_field::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_input_error() [1/2]

color & liblec::lecui::widgets::text_field::color_input_error ( )

Get or set the color to show that there has been an input error.

Returns
A reference to the color.

◆ color_input_error() [2/2]

text_field & liblec::lecui::widgets::text_field::color_input_error ( const color color_input_error)

Set the color to show that there has been an input error.

Parameters
color_input_errorThe color to show that there has been an input error.
Returns
A reference to the modified object.

◆ color_prompt() [1/2]

color & liblec::lecui::widgets::text_field::color_prompt ( )

Get or set the color of the prompt text.

Returns
A reference to the color.

◆ color_prompt() [2/2]

text_field & liblec::lecui::widgets::text_field::color_prompt ( const color color_prompt)

Set the color of the prompt text.

Parameters
color_promptThe color.
Returns
A reference to the modified object.

◆ color_selected() [1/2]

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

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

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

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

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

text_field & liblec::lecui::widgets::text_field::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()

text_field_events & liblec::lecui::widgets::text_field::events ( )
inline

Text field events.

Returns
A reference to the text field events.

◆ font() [1/2]

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

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

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

◆ forbidden_characters() [1/2]

std::set< char > & liblec::lecui::widgets::text_field::forbidden_characters ( )

Get or set the set of characters to prevent from being typed in.

Returns
A reference to the character set.

An empty character set means all characters are permitted. Takes precedence over the allowed character set.

◆ forbidden_characters() [2/2]

text_field & liblec::lecui::widgets::text_field::forbidden_characters ( const std::set< char > &  forbidden_characters)

Set the set of characters to prevent from being typed in.

Parameters
forbidden_charactersThe character set. An empty character set means all characters are permitted.
Returns
A reference to the modified object.

Takes precedence over the allowed character set.

◆ get()

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

Get the specifications of a text field.

Parameters
fmA reference to the form.
pathThe full path to the widget, e.g. "login_page/credentials_pane/username".
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.

◆ maximum_length() [1/2]

int & liblec::lecui::widgets::text_field::maximum_length ( )

Get or set the maximum length of the input string. 0 means unlimited length.

Returns
A reference to the maximum length.

◆ maximum_length() [2/2]

text_field & liblec::lecui::widgets::text_field::maximum_length ( const int &  maximum_length)

Set the maximum length of the input string.

Parameters
maximum_lengthThe maximum length of the input string. 0 means unlimited length.
Returns
A reference to the modified object.

◆ on_resize() [1/2]

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

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

◆ prompt() [1/2]

std::string & liblec::lecui::widgets::text_field::prompt ( )

Get or set the text to be displayed when the widget is empty.

Returns
A reference to the text.

◆ prompt() [2/2]

text_field & liblec::lecui::widgets::text_field::prompt ( const std::string &  prompt)

Set the text to be displayed when the widget is empty.

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

◆ rect() [1/2]

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

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

Get or set the widget text.

Returns
A reference to the widget text.

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

◆ text() [2/2]

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

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