A rich_label takes marked up text and shows it correctly formatted and wrapped but no scrollbars are provided. More...
#include <rich_label.hpp>
Public Member Functions | |
rich_label (const implementation::builder_rich_label &builder) | |
virtual bool | can_wrap () const override |
Can the widget wrap. More... | |
virtual unsigned | get_characters_per_line () const override |
Returns the number of characters per line. More... | |
virtual bool | get_link_aware () const override |
Returns whether the label should be link_aware, in in rendering and in searching for links with get_link. More... | |
virtual color_t | get_link_color () const override |
Returns the color string to be used with links. More... | |
virtual void | set_active (const bool active) override |
Sets the styled_widget's state. More... | |
virtual bool | get_active () const override |
Gets the active state of the styled_widget. More... | |
virtual unsigned | get_state () const override |
Returns the id of the state. More... | |
bool | disable_click_dismiss () const override |
Does the widget disable easy close? More... | |
virtual bool | can_mouse_focus () const override |
Whether the mouse move/click event go 'through' this widget. More... | |
virtual void | request_reduce_height (const unsigned) override |
See widget::request_reduce_height. More... | |
virtual void | update_canvas () override |
Updates the canvas(ses). More... | |
void | set_can_wrap (const bool wrap) |
void | set_link_aware (bool l) |
void | set_link_color (const color_t &color) |
void | set_can_shrink (bool can_shrink) |
void | set_font_family (const std::string &font_family) |
void | set_font_size (int font_size) |
void | set_font_style (const std::string &font_style) |
void | set_text_alpha (unsigned short alpha) |
void | set_label (const t_string &text) override |
void | set_dom (const config &dom) |
int | get_width () |
void | set_width (const int width) |
std::pair< config, point > | get_parsed_text (const config &parsed_text, const point &origin, const unsigned init_width, const bool finalize=false) |
void | register_link_callback (std::function< void(std::string)> link_handler) |
![]() | |
styled_widget (const implementation::builder_styled_widget &builder, const std::string &control_type) | |
Constructor. More... | |
virtual void | set_members (const widget_item &data) |
Sets the members of the styled_widget. More... | |
bool | disable_click_dismiss () const override |
See widget::disable_click_dismiss. More... | |
virtual iteration::walker_ptr | create_walker () override |
See widget::create_walker. More... | |
point | get_config_minimum_size () const |
Gets the minimum size as defined in the config. More... | |
point | get_config_default_size () const |
Gets the default size as defined in the config. More... | |
point | get_config_maximum_size () const |
Gets the best size as defined in the config. More... | |
virtual void | layout_initialize (const bool full_initialization) override |
See widget::layout_initialize. More... | |
virtual void | request_reduce_width (const unsigned maximum_width) override |
See widget::request_reduce_width. More... | |
virtual void | place (const point &origin, const point &size) override |
See widget::place. More... | |
virtual widget * | find_at (const point &coordinate, const bool must_be_active) override |
See widget::find_at. More... | |
virtual const widget * | find_at (const point &coordinate, const bool must_be_active) const override |
See widget::find_at. More... | |
widget * | find (const std::string_view id, const bool must_be_active) override |
See widget::find. More... | |
const widget * | find (const std::string_view id, const bool must_be_active) const override |
See widget::find. More... | |
bool | get_use_tooltip_on_label_overflow () const |
void | set_use_tooltip_on_label_overflow (const bool use_tooltip=true) |
const t_string & | get_label () const |
virtual void | set_use_markup (bool use_markup) |
bool | get_use_markup () const |
const t_string & | tooltip () const |
void | set_tooltip (const t_string &tooltip) |
const t_string & | help_message () const |
void | set_help_message (const t_string &help_message) |
std::vector< canvas > & | get_canvases () |
canvas & | get_canvas (const unsigned index) |
virtual void | set_text_alignment (const PangoAlignment text_alignment) |
PangoAlignment | get_text_alignment () const |
void | set_text_ellipse_mode (const PangoEllipsizeMode ellipse_mode) |
PangoEllipsizeMode | get_text_ellipse_mode () const |
Get the text's ellipsize mode. More... | |
![]() | |
widget (const widget &)=delete | |
widget & | operator= (const widget &)=delete |
widget () | |
widget (const builder_widget &builder) | |
Constructor. More... | |
virtual | ~widget () override |
void | set_id (const std::string &id) |
const std::string & | id () const |
window * | get_window () |
Get the parent window. More... | |
const window * | get_window () const |
The constant version of get_window. More... | |
grid * | get_parent_grid () |
Get the parent grid. More... | |
const grid * | get_parent_grid () const |
void | set_parent (widget *parent) |
widget * | parent () |
virtual void | demand_reduce_width (const unsigned maximum_width) |
Tries to reduce the width of a widget. More... | |
virtual void | demand_reduce_height (const unsigned maximum_height) |
Tries to reduce the height of a widget. More... | |
point | get_best_size () const |
Gets the best size for the widget. More... | |
virtual void | set_origin (const point &origin) |
Sets the origin of the widget. More... | |
virtual void | set_size (const point &size) |
Sets the size of the widget. More... | |
virtual void | move (const int x_offset, const int y_offset) |
Moves a widget. More... | |
virtual void | set_horizontal_alignment (const std::string &alignment) |
Sets the horizontal alignment of the widget within its parent grid. More... | |
virtual void | set_vertical_alignment (const std::string &alignment) |
Sets the horizontal alignment of the widget within its parent grid. More... | |
virtual void | layout_children () |
Allows a widget to update its children. More... | |
point | get_origin () const |
Returns the screen origin of the widget. More... | |
point | get_size () const |
Returns the size of the widget. More... | |
rect | get_rectangle () const |
Gets the bounding rectangle of the widget on the screen. More... | |
int | get_x () const |
int | get_y () const |
unsigned | get_width () const |
unsigned | get_height () const |
void | set_linked_group (const std::string &linked_group) |
std::string | get_linked_group () const |
SDL_Rect | calculate_blitting_rectangle () const |
Calculates the blitting rectangle of the widget. More... | |
SDL_Rect | calculate_clipping_rectangle () const |
Calculates the clipping rectangle of the widget. More... | |
bool | draw_background () |
Draws the background of a widget. More... | |
void | draw_children () |
Draws the children of a widget. More... | |
bool | draw_foreground () |
Draws the foreground of the widget. More... | |
SDL_Rect | get_dirty_rectangle () const |
Gets the dirty rectangle of the widget. More... | |
virtual void | set_visible_rectangle (const SDL_Rect &rectangle) |
Sets the visible rectangle for a widget. More... | |
void | queue_redraw () |
Indicates that this widget should be redrawn. More... | |
void | queue_redraw (const rect ®ion) |
Indicate that specific region of the screen should be redrawn. More... | |
void | set_visible (const visibility visible) |
visibility | get_visible () const |
void | set_visible (bool visible) |
Sets widget to visible if visible is true, else invisible. More... | |
redraw_action | get_drawing_action () const |
void | set_debug_border_mode (const debug_border debug_border_mode) |
void | set_debug_border_color (const color_t debug_border_color) |
virtual bool | has_widget (const widget &widget) const |
Does the widget contain the widget. More... | |
template<class T > | |
T * | find_widget (const std::string_view id, const bool must_be_active, const bool must_exist) |
Gets a widget with the wanted id. More... | |
template<class T > | |
const T * | find_widget (const std::string_view id, const bool must_be_active, const bool must_exist) const |
template<class T > | |
T & | find_widget (const std::string_view id, const bool must_be_active=false) |
Gets a widget with the wanted id. More... | |
template<class T > | |
const T & | find_widget (const std::string_view id, const bool must_be_active=false) const |
![]() | |
event_executor () | |
virtual | ~event_executor () |
void | set_wants_mouse_hover (const bool hover=true) |
bool | wants_mouse_hover () const |
void | set_wants_mouse_left_double_click (const bool click=true) |
bool | wants_mouse_left_double_click () const |
void | set_wants_mouse_middle_double_click (const bool click=true) |
bool | wants_mouse_middle_double_click () const |
event_executor & | set_wants_mouse_right_double_click (const bool click=true) |
bool | wants_mouse_right_double_click () const |
![]() | |
dispatcher () | |
virtual | ~dispatcher () |
void | connect () |
Connects the dispatcher to the event handler. More... | |
void | disconnect () |
Disconnects the dispatcher from the event handler. More... | |
bool | is_connected () const |
Return whether the dispatcher is currently connected. More... | |
bool | has_event (const ui_event event, const event_queue_type event_type) |
bool | fire (const ui_event event, widget &target) |
Fires an event which has no extra parameters. More... | |
bool | fire (const ui_event event, widget &target, const point &coordinate) |
Fires an event which takes a coordinate parameter. More... | |
bool | fire (const ui_event event, widget &target, const SDL_Keycode key, const SDL_Keymod modifier, const std::string &unicode) |
Fires an event which takes keyboard parameters. More... | |
bool | fire (const ui_event event, widget &target, const point &pos, const point &distance) |
Fires an event which takes touch-motion parameters. More... | |
bool | fire (const ui_event event, widget &target, const point ¢er, float dTheta, float dDist, uint8_t numFingers) |
Fires an event which takes touch-gesture parameters. More... | |
bool | fire (const ui_event event, widget &target, void *) |
Fires an event which takes notification parameters. More... | |
bool | fire (const ui_event event, widget &target, const message &msg) |
Fires an event which takes message parameters. More... | |
bool | fire (const ui_event event, widget &target, const SDL_Event &sdlevent) |
Fires an event that's a raw SDL event. More... | |
bool | fire (const ui_event event, widget &target, const std::string &text, int32_t start, int32_t len) |
Fires an event which takes text input parameters. More... | |
template<ui_event E, typename F > | |
void | connect_signal (const F &func, const queue_position position=back_child) |
Adds a callback to the appropriate queue based on event type. More... | |
template<ui_event E, typename F > | |
void | disconnect_signal (const F &func, const queue_position position=back_child) |
Removes a callback from the appropriate queue based on event type. More... | |
void | capture_mouse () |
Captures the mouse. More... | |
void | release_mouse () |
Releases the mouse capture. More... | |
void | set_mouse_behavior (const mouse_behavior mouse_behavior) |
mouse_behavior | get_mouse_behavior () const |
void | set_want_keyboard_input (const bool want_keyboard_input) |
bool | get_want_keyboard_input () const |
template<typename Func > | |
void | register_hotkey (const hotkey::HOTKEY_COMMAND id, Func &&function) |
Registers a hotkey. More... | |
bool | execute_hotkey (const hotkey::HOTKEY_COMMAND id) |
Executes a hotkey. More... | |
![]() | |
enable_lua_ptr (widget *tp) | |
enable_lua_ptr (enable_lua_ptr &&o) | |
enable_lua_ptr & | operator= (enable_lua_ptr &&o) |
Static Public Member Functions | |
static const std::string & | type () |
Static type getter that does not rely on the widget being constructed. More... | |
Private Types | |
enum | state_t { ENABLED , DISABLED } |
Possible states of the widget. More... | |
Private Member Functions | |
void | set_state (const state_t state) |
virtual bool | text_can_shrink () override |
Inherited from styled_widget. More... | |
color_t | get_color (const std::string &color) |
If color is a predefined color set in resolution, return it, otherwise decode using font::string_to_color . More... | |
void | default_text_config (config *txt_ptr, const point &pos, const int max_width, const t_string &text="") |
Create template for text config that can be shown in canvas. More... | |
std::pair< size_t, size_t > | add_text (config &curr_item, const std::string &text) |
void | add_attribute (config &curr_item, const std::string &attr_name, const std::string &extra_data="", size_t start=0, size_t end=0) |
std::pair< size_t, size_t > | add_text_with_attribute (config &curr_item, const std::string &text, const std::string &attr_name="", const std::string &extra_data="") |
void | add_link (config &curr_item, const std::string &name, const std::string &dest, const point &origin, int img_width) |
point | get_text_size (config &text_cfg, unsigned width=0) const |
size calculation functions More... | |
point | get_image_size (config &img_cfg) const |
wfl::map_formula_callable | setup_text_renderer (config text_cfg, unsigned width=0) const |
size_t | get_split_location (std::string_view text, const point &pos) |
int | get_offset_from_xy (const point &position) const |
point | get_xy_from_offset (const unsigned offset) const |
point | calculate_best_size () const override |
See widget::calculate_best_size. More... | |
virtual const std::string & | get_control_type () const override |
Inherited from styled_widget, implemented by REGISTER_WIDGET. More... | |
void | signal_handler_left_button_click (bool &handled) |
Left click signal handler: checks if we clicked on a hyperlink. More... | |
void | signal_handler_mouse_motion (bool &handled, const point &coordinate) |
Mouse motion signal handler: checks if the cursor is on a hyperlink. More... | |
void | signal_handler_mouse_leave (bool &handled) |
Mouse leave signal handler: checks if the cursor left a hyperlink. More... | |
void | update_mouse_cursor (bool enable) |
Implementation detail for (re)setting the hyperlink cursor. More... | |
Private Attributes | |
state_t | state_ |
Current state of the widget. More... | |
bool | can_wrap_ |
Holds the rich_label can wrap or not. More... | |
unsigned | characters_per_line_ |
The maximum number of characters per line. More... | |
bool | link_aware_ |
Whether the rich_label is link aware, rendering links with special formatting and handling click events. More... | |
color_t | text_color_enabled_ |
Base text color, enabled state. More... | |
color_t | text_color_disabled_ |
Base text color, disabled state. More... | |
color_t | link_color_ |
What color links will be rendered in. More... | |
std::map< std::string, color_t > | predef_colors_ |
Color variables that can be used in place of colors strings, like <row bgcolor=color1> More... | |
std::string | font_family_ |
Base font family. More... | |
int | font_size_ |
Base font size. More... | |
std::string | font_style_ |
Base font style. More... | |
bool | can_shrink_ |
unsigned short | text_alpha_ |
config | shapes_ |
Final list of shapes to be drawn on the canvas. More... | |
unsigned | init_w_ |
Width and height of the canvas. More... | |
point | size_ |
int | padding_ |
Padding. More... | |
std::vector< std::pair< rect, std::string > > | links_ |
link variables and functions More... | |
std::function< void(std::string)> | link_handler_ |
Friends | |
struct | implementation::builder_rich_label |
Additional Inherited Members | |
![]() | |
enum class | visibility { visible , hidden , invisible } |
Visibility settings done by the user. More... | |
enum class | redraw_action { full , partly , none } |
Visibility set by the engine. More... | |
enum class | debug_border { none , outline , fill } |
![]() | |
enum | event_queue_type { pre = 1 , child = 2 , post = 4 } |
enum | queue_position { front_pre_child , back_pre_child , front_child , back_child , front_post_child , back_post_child } |
The position where to add a new callback in the signal handler. More... | |
enum class | mouse_behavior { all , hit , none } |
The behavior of the mouse events. More... | |
![]() | |
resolution_definition_ptr | get_config () |
resolution_definition_const_ptr | get_config () const |
template<typename T > | |
std::shared_ptr< const typename T::resolution > | cast_config_to () const |
Casts the current resolution definition config to the respective type of a derived widget. More... | |
unsigned int | get_text_font_size () const |
Resolves and returns the text_font_size. More... | |
int | get_text_maximum_width () const |
Returns the maximum width available for the text. More... | |
int | get_text_maximum_height () const |
Returns the maximum height available for the text. More... | |
virtual bool | impl_draw_background () override |
See widget::impl_draw_background. More... | |
virtual bool | impl_draw_foreground () override |
See widget::impl_draw_foreground. More... | |
std::string | get_label_token (const point &position, const char *delimiters=" \n\r\t") const |
Exposes font::pango_text::get_token, for the text label of this styled_widget. More... | |
std::string | get_label_link (const point &position) const |
![]() | |
void | set_layout_size (const point &size) |
const point & | layout_size () const |
void | clear_layout_size () |
Throws away layout_size_. More... | |
A rich_label takes marked up text and shows it correctly formatted and wrapped but no scrollbars are provided.
Definition at line 37 of file rich_label.hpp.
|
private |
Possible states of the widget.
Note the order of the states must be the same as defined in settings.hpp.
Enumerator | |
---|---|
ENABLED | |
DISABLED |
Definition at line 158 of file rich_label.hpp.
|
explicit |
Definition at line 65 of file rich_label.cpp.
|
private |
Definition at line 141 of file rich_label.cpp.
References config::add_child(), and editor::start().
Referenced by add_text_with_attribute(), default_text_config(), and get_parsed_text().
|
private |
Definition at line 177 of file rich_label.cpp.
References add_text_with_attribute(), DBG_GUI_RL, font_size_, font::get_line_spacing_factor(), font::get_max_height(), get_xy_from_offset(), init_w_, link_color_, links_, setup_text_renderer(), utf8::size(), size_, and color_t::to_hex_string().
Referenced by get_parsed_text().
|
private |
Definition at line 132 of file rich_label.cpp.
References editor::start().
Referenced by add_text_with_attribute(), and get_parsed_text().
|
private |
Definition at line 166 of file rich_label.cpp.
References add_attribute(), add_text(), and editor::start().
Referenced by add_link(), and get_parsed_text().
|
inlineoverrideprivatevirtual |
See widget::calculate_best_size.
Reimplemented from gui2::styled_widget.
Definition at line 279 of file rich_label.hpp.
References size_.
|
inlineoverridevirtual |
Whether the mouse move/click event go 'through' this widget.
Reimplemented from gui2::widget.
Definition at line 81 of file rich_label.hpp.
References t_string::empty(), get_link_aware(), and gui2::styled_widget::tooltip().
|
inlineoverridevirtual |
Can the widget wrap.
When a widget can wrap it can reduce its width by increasing its height. When a layout is too wide it should first try to wrap and if that fails it should check the vertical scrollbar status. After wrapping the height might (probably will) change so the layout engine needs to recalculate the height after wrapping.
Reimplemented from gui2::widget.
Definition at line 44 of file rich_label.hpp.
References can_wrap_, and characters_per_line_.
|
private |
Create template for text config that can be shown in canvas.
Definition at line 748 of file rich_label.cpp.
References add_attribute(), gui2::encode_text_alignment(), font_family_, font_size_, font_style_, font::get_line_spacing_factor(), gui2::styled_widget::get_text_alignment(), text_color_enabled_, and color_t::to_rgba_string().
Referenced by get_parsed_text().
|
inlineoverridevirtual |
Does the widget disable easy close?
Implements gui2::widget.
Definition at line 76 of file rich_label.hpp.
|
inlineoverridevirtual |
Gets the active state of the styled_widget.
Implements gui2::styled_widget.
Definition at line 66 of file rich_label.hpp.
References DISABLED, and state_.
Referenced by set_active().
|
inlineoverridevirtual |
Returns the number of characters per line.
This value is used to call pango_text::set_characters_per_line (indirectly).
Reimplemented from gui2::styled_widget.
Definition at line 49 of file rich_label.hpp.
References characters_per_line_.
|
private |
If color is a predefined color set in resolution, return it, otherwise decode using font::string_to_color
.
Definition at line 92 of file rich_label.cpp.
References predef_colors_, and font::string_to_color().
Referenced by get_parsed_text().
|
overrideprivatevirtual |
Inherited from styled_widget, implemented by REGISTER_WIDGET.
Implements gui2::styled_widget.
Definition at line 120 of file rich_label.cpp.
References wfl::map_formula_callable::add(), wfl::variant::as_int(), and wfl::formula_callable::query_value().
Referenced by get_parsed_text().
|
inlineoverridevirtual |
Returns whether the label should be link_aware, in in rendering and in searching for links with get_link.
This value is used to call pango_text::set_link_aware (indirectly).
Reimplemented from gui2::styled_widget.
Definition at line 54 of file rich_label.hpp.
References link_aware_.
Referenced by can_mouse_focus(), signal_handler_left_button_click(), signal_handler_mouse_leave(), and signal_handler_mouse_motion().
|
inlineoverridevirtual |
Returns the color string to be used with links.
This value is used to call pango_text::set_link_color (indirectly).
Reimplemented from gui2::styled_widget.
Definition at line 59 of file rich_label.hpp.
References link_color_.
|
inlineprivate |
Definition at line 269 of file rich_label.hpp.
References font::get_text_renderer(), and font::pango_text::xy_to_index().
Referenced by get_split_location().
std::pair< config, point > gui2::rich_label::get_parsed_text | ( | const config & | parsed_text, |
const point & | origin, | ||
const unsigned | init_width, | ||
const bool | finalize = false |
||
) |
Definition at line 260 of file rich_label.cpp.
References _(), add_attribute(), config::add_child(), add_link(), add_text(), add_text_with_attribute(), config::all_children_view(), config::append(), config::append_attributes(), config::append_children(), game_config::images::blank, gui2::event::dispatcher::child, config::child_range(), DBG_GUI_RL, config::debug(), gui2::debug_truncate(), default_text_config(), utils::find(), get_color(), get_image_size(), video::get_pixel_scale(), get_split_location(), get_text_size(), h, draw::line(), links_, padding_, draw::point(), utf8::size(), font::SIZE_TITLE, utils::split(), editor::start(), utils::stoi(), color_t::to_rgba_string(), and w.
Referenced by set_dom().
|
private |
Definition at line 231 of file rich_label.cpp.
References c, and get_offset_from_xy().
Referenced by get_parsed_text().
|
inlineoverridevirtual |
Returns the id of the state.
The current state is also the index canvases_.
Implements gui2::styled_widget.
Definition at line 71 of file rich_label.hpp.
References state_.
size calculation functions
Definition at line 111 of file rich_label.cpp.
References wfl::variant::as_int(), wfl::formula_callable::query_value(), and setup_text_renderer().
Referenced by get_parsed_text().
|
inline |
Definition at line 129 of file rich_label.hpp.
References init_w_.
|
inlineprivate |
Definition at line 274 of file rich_label.hpp.
References font::pango_text::get_cursor_position(), and font::get_text_renderer().
Referenced by add_link().
void gui2::rich_label::register_link_callback | ( | std::function< void(std::string)> | link_handler | ) |
Definition at line 828 of file rich_label.cpp.
References link_aware_, link_handler_, signal_handler_left_button_click(), signal_handler_mouse_leave(), and signal_handler_mouse_motion().
Referenced by gui2::dialogs::help_browser::pre_show().
|
inlineoverridevirtual |
See widget::request_reduce_height.
Reimplemented from gui2::styled_widget.
Definition at line 86 of file rich_label.hpp.
|
overridevirtual |
Sets the styled_widget's state.
Sets the styled_widget in the active state, when inactive a styled_widget can't be used and doesn't react to events. (Note read-only for a text_box_base is a different state.)
Implements gui2::styled_widget.
Definition at line 795 of file rich_label.cpp.
References DISABLED, ENABLED, get_active(), and set_state().
|
inline |
Definition at line 101 of file rich_label.hpp.
References can_shrink_.
|
inline |
Definition at line 92 of file rich_label.hpp.
References can_wrap_.
void gui2::rich_label::set_dom | ( | const config & | dom | ) |
Definition at line 250 of file rich_label.cpp.
References lg::dom, get_parsed_text(), init_w_, draw::point(), gui2::widget::queue_redraw(), shapes_, size_, and update_canvas().
Referenced by set_label().
|
inline |
Definition at line 106 of file rich_label.hpp.
References font_family_.
|
inline |
Definition at line 111 of file rich_label.hpp.
References font_size_.
|
inline |
Definition at line 116 of file rich_label.hpp.
References font_style_.
|
overridevirtual |
Reimplemented from gui2::styled_widget.
Definition at line 256 of file rich_label.cpp.
References markup::parse_text(), and set_dom().
void gui2::rich_label::set_link_aware | ( | bool | l | ) |
Definition at line 802 of file rich_label.cpp.
References link_aware_, gui2::widget::queue_redraw(), and update_canvas().
void gui2::rich_label::set_link_color | ( | const color_t & | color | ) |
Definition at line 811 of file rich_label.cpp.
References link_color_, gui2::widget::queue_redraw(), and update_canvas().
|
private |
Definition at line 820 of file rich_label.cpp.
References gui2::widget::queue_redraw(), and state_.
Referenced by set_active().
void gui2::rich_label::set_text_alpha | ( | unsigned short | alpha | ) |
Definition at line 786 of file rich_label.cpp.
References gui2::widget::queue_redraw(), text_alpha_, and update_canvas().
|
inline |
Definition at line 136 of file rich_label.hpp.
References init_w_.
Referenced by gui2::dialogs::help_browser::pre_show().
|
private |
Definition at line 98 of file rich_label.cpp.
References wfl::map_formula_callable::add().
Referenced by add_link(), and get_text_size().
|
private |
Left click signal handler: checks if we clicked on a hyperlink.
Definition at line 844 of file rich_label.cpp.
References DBG_GUI_E, DBG_GUI_RL, get_link_aware(), gui2::get_mouse_position(), gui2::widget::get_origin(), link_handler_, links_, sound::play_UI_sound(), and gui2::settings::sound_button_click.
Referenced by register_link_callback().
|
private |
Mouse leave signal handler: checks if the cursor left a hyperlink.
Definition at line 896 of file rich_label.cpp.
References DBG_GUI_E, get_link_aware(), and update_mouse_cursor().
Referenced by register_link_callback().
|
private |
Mouse motion signal handler: checks if the cursor is on a hyperlink.
Definition at line 875 of file rich_label.cpp.
References DBG_GUI_E, get_link_aware(), gui2::widget::get_origin(), links_, and update_mouse_cursor().
Referenced by register_link_callback().
|
inlineoverrideprivatevirtual |
Inherited from styled_widget.
Reimplemented from gui2::styled_widget.
Definition at line 229 of file rich_label.hpp.
References can_shrink_.
|
static |
Static type getter that does not rely on the widget being constructed.
|
overridevirtual |
Updates the canvas(ses).
This function should be called if either the size of the widget changes or the text on the widget changes.
Reimplemented from gui2::styled_widget.
Definition at line 774 of file rich_label.cpp.
References gui2::styled_widget::get_canvases(), init_w_, padding_, shapes_, and text_alpha_.
Referenced by set_dom(), set_link_aware(), set_link_color(), and set_text_alpha().
|
private |
Implementation detail for (re)setting the hyperlink cursor.
Definition at line 910 of file rich_label.cpp.
References cursor::get(), cursor::HYPERLINK, cursor::NORMAL, and cursor::set().
Referenced by signal_handler_mouse_leave(), and signal_handler_mouse_motion().
|
friend |
Definition at line 39 of file rich_label.hpp.
|
private |
Definition at line 224 of file rich_label.hpp.
Referenced by set_can_shrink(), and text_can_shrink().
|
private |
Holds the rich_label can wrap or not.
Definition at line 174 of file rich_label.hpp.
Referenced by can_wrap(), and set_can_wrap().
|
private |
The maximum number of characters per line.
The maximum is not an exact maximum, it uses the average character width.
Definition at line 181 of file rich_label.hpp.
Referenced by can_wrap(), and get_characters_per_line().
|
private |
Base font family.
Definition at line 212 of file rich_label.hpp.
Referenced by default_text_config(), and set_font_family().
|
private |
Base font size.
Definition at line 217 of file rich_label.hpp.
Referenced by add_link(), default_text_config(), and set_font_size().
|
private |
Base font style.
Definition at line 222 of file rich_label.hpp.
Referenced by default_text_config(), and set_font_style().
|
private |
Width and height of the canvas.
Definition at line 238 of file rich_label.hpp.
Referenced by add_link(), get_width(), set_dom(), set_width(), and update_canvas().
|
private |
Whether the rich_label is link aware, rendering links with special formatting and handling click events.
Definition at line 187 of file rich_label.hpp.
Referenced by get_link_aware(), register_link_callback(), and set_link_aware().
|
private |
What color links will be rendered in.
Definition at line 202 of file rich_label.hpp.
Referenced by add_link(), get_link_color(), and set_link_color().
|
private |
Definition at line 267 of file rich_label.hpp.
Referenced by register_link_callback(), and signal_handler_left_button_click().
|
private |
link variables and functions
Definition at line 265 of file rich_label.hpp.
Referenced by add_link(), get_parsed_text(), signal_handler_left_button_click(), and signal_handler_mouse_motion().
|
private |
Padding.
Definition at line 242 of file rich_label.hpp.
Referenced by get_parsed_text(), and update_canvas().
|
private |
Color variables that can be used in place of colors strings, like <row bgcolor=color1>
Definition at line 207 of file rich_label.hpp.
Referenced by get_color().
|
private |
Final list of shapes to be drawn on the canvas.
Definition at line 235 of file rich_label.hpp.
Referenced by set_dom(), and update_canvas().
|
private |
Definition at line 239 of file rich_label.hpp.
Referenced by add_link(), calculate_best_size(), and set_dom().
|
private |
Current state of the widget.
The state of the widget determines what to render and how the widget reacts to certain 'events'.
Definition at line 171 of file rich_label.hpp.
Referenced by get_active(), get_state(), and set_state().
|
private |
Definition at line 226 of file rich_label.hpp.
Referenced by set_text_alpha(), and update_canvas().
|
private |
Base text color, disabled state.
Definition at line 197 of file rich_label.hpp.
|
private |
Base text color, enabled state.
Definition at line 192 of file rich_label.hpp.
Referenced by default_text_config().