The Battle for Wesnoth  1.19.5+dev
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
gui2::multiline_text Class Reference

#include <multiline_text.hpp>

Inheritance diagram for gui2::multiline_text:

Public Member Functions

 multiline_text (const implementation::builder_multiline_text &builder)
 
bool can_wrap () const override
 See widget::can_wrap. More...
 
void save_to_history ()
 Saves the text in the widget to the history. More...
 
void set_history (const std::string &id)
 
void set_max_input_length (const std::size_t length)
 
void set_hint_data (const std::string &text, const std::string &image)
 
void clear ()
 
point get_cursor_pos ()
 
int get_line_end_pos ()
 
point get_text_end_pos ()
 
void goto_end_of_line (const bool select=false) override
 Inherited from text_box_base. More...
 
void goto_start_of_line (const bool select=false) override
 Inherited from text_box_base. More...
 
void goto_end_of_data (const bool select=false) override
 Inherited from text_box_base. More...
 
void goto_start_of_data (const bool select=false) override
 Inherited from text_box_base. More...
 
virtual bool get_link_aware () const override
 See styled_widget::get_link_aware. More...
 
void set_link_aware (bool l)
 
- Public Member Functions inherited from gui2::text_box_base
 text_box_base (const implementation::builder_styled_widget &builder, const std::string &control_type)
 
 ~text_box_base ()
 
virtual void set_active (const bool active) override
 See styled_widget::set_active. More...
 
virtual bool get_active () const override
 See styled_widget::get_active. More...
 
virtual unsigned get_state () const override
 See styled_widget::get_state. More...
 
void set_maximum_length (const std::size_t maximum_length)
 
std::size_t get_length () const
 Wrapper function, returns length of the text in pango column offsets. More...
 
std::vector< std::string > get_lines ()
 Wrapper function, returns a vector with the lines. More...
 
PangoLayoutLine * get_line (int index)
 Wrapper function, returns the line corresponding to index. More...
 
int get_line_number (const unsigned offset)
 Wrapper function, return the line number given the byte index. More...
 
point get_cursor_pos_from_index (const unsigned offset) const
 Wrapper function, return the cursor position given the byte index. More...
 
unsigned get_lines_count () const
 Wrapper function, return number of lines. More...
 
void set_highlight_area (const unsigned start_offset, const unsigned end_offset, const color_t &color)
 Wrapper function, sets the area between column start and end offset to be highlighted in a specific color. More...
 
virtual void set_value (const std::string &text)
 The set_value is virtual for the password_box class. More...
 
std::string get_value () const
 
const std::string & text () const
 
std::string plain_text ()
 
void set_text_changed_callback (std::function< void(text_box_base *textbox, const std::string text)> cb)
 Set the text_changed callback. More...
 
void set_selection (std::size_t start, int length)
 Sets or clears the text selection. More...
 
void set_editable (bool editable)
 Set or unset whether text can be edited or not Text can only be copied and scrolled through when editable is false. More...
 
bool is_editable () const
 Check whether text can be edited or not. More...
 
bool is_composing () const
 
void interrupt_composition ()
 
- Public Member Functions inherited from gui2::styled_widget
 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 unsigned get_characters_per_line () const
 Returns the number of characters per line. More...
 
virtual color_t get_link_color () const
 Returns the color string to be used with links. 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 request_reduce_height (const unsigned maximum_height) override
 See widget::request_reduce_height. More...
 
virtual widgetfind_at (const point &coordinate, const bool must_be_active) override
 See widget::find_at. More...
 
virtual const widgetfind_at (const point &coordinate, const bool must_be_active) const override
 See widget::find_at. More...
 
widgetfind (const std::string &id, const bool must_be_active) override
 See widget::find. More...
 
const widgetfind (const std::string &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_stringget_label () const
 
virtual void set_label (const t_string &text)
 
virtual void set_use_markup (bool use_markup)
 
bool get_use_markup () const
 
const t_stringtooltip () const
 
void set_tooltip (const t_string &tooltip)
 
const t_stringhelp_message () const
 
void set_help_message (const t_string &help_message)
 
std::vector< canvas > & get_canvases ()
 
canvasget_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...
 
void set_text_maximum_width (int max_width)
 Set how wide the text can become. More...
 
- Public Member Functions inherited from gui2::widget
 widget (const widget &)=delete
 
widgetoperator= (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
 
windowget_window ()
 Get the parent window. More...
 
const windowget_window () const
 The constant version of get_window. More...
 
gridget_parent_grid ()
 Get the parent grid. More...
 
const gridget_parent_grid () const
 
void set_parent (widget *parent)
 
widgetparent ()
 
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 bool can_mouse_focus () const
 Whether the mouse move/click event go 'through' this 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 &region)
 Indicate that specific region of the screen should be redrawn. More...
 
void set_visible (const visibility visible)
 
visibility get_visible () const
 
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 >
NOT_DANGLING T * find_widget (const std::string &id, const bool must_be_active, const bool must_exist)
 Gets a widget with the wanted id. More...
 
template<class T >
NOT_DANGLING const T * find_widget (const std::string &id, const bool must_be_active, const bool must_exist) const
 
template<class T >
NOT_DANGLING T & find_widget (const std::string &id, const bool must_be_active=false)
 Gets a widget with the wanted id. More...
 
template<class T >
NOT_DANGLING const T & find_widget (const std::string &id, const bool must_be_active=false) const
 
- Public Member Functions inherited from gui2::event_executor
 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_executorset_wants_mouse_right_double_click (const bool click=true)
 
bool wants_mouse_right_double_click () const
 
- Public Member Functions inherited from gui2::event::dispatcher
 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 &center, 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
 
void register_hotkey (const hotkey::HOTKEY_COMMAND id, const hotkey_function &function)
 Registers a hotkey. More...
 
bool execute_hotkey (const hotkey::HOTKEY_COMMAND id)
 Executes a hotkey. More...
 
- Public Member Functions inherited from enable_lua_ptr< widget >
 enable_lua_ptr (widget *tp)
 

Static Public Member Functions

static const std::string & type ()
 Static type getter that does not rely on the widget being constructed. More...
 

Protected Member Functions

virtual void place (const point &origin, const point &size) override
 See widget::place. More...
 
virtual void update_canvas () override
 See styled_widget::update_canvas. More...
 
void insert_char (const std::string &unicode) override
 Inherited from text_box_base. More...
 
void set_cursor (const std::size_t offset, const bool select) override
 Inherited from text_box_base. More...
 
- Protected Member Functions inherited from gui2::text_box_base
size_t get_composition_length () const
 Get length of composition text by IME. More...
 
void select_all ()
 Selects all text. More...
 
virtual void copy_selection ()
 Copies the current selection. More...
 
point get_cursor_position (const unsigned column, const unsigned line=0) const
 
point get_column_line (const point &position) const
 
font::family_class get_font_family ()
 
void set_font_family (font::family_class fclass)
 
void set_font_size (const unsigned font_size)
 
void set_font_style (const font::pango_text::FONT_STYLE font_style)
 
void set_maximum_width (const int width)
 
void set_maximum_height (const int height, const bool multiline)
 
void set_ellipse_mode (const PangoEllipsizeMode ellipse_mode)
 
std::size_t get_selection_start () const
 
void set_selection_start (const std::size_t selection_start)
 
std::size_t get_selection_length () const
 
void set_selection_length (const int selection_length)
 
std::size_t get_composition_start () const
 
virtual void handle_commit (bool &handled, const std::string &unicode)
 
virtual void handle_editing (bool &handled, const std::string &unicode, int32_t start, int32_t length)
 SDL_TEXTEDITING handler. More...
 
- Protected Member Functions inherited from gui2::styled_widget
virtual point calculate_best_size () const override
 See widget::calculate_best_size. 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...
 
void set_config (resolution_definition_ptr config)
 
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
 
- Protected Member Functions inherited from gui2::widget
void set_layout_size (const point &size)
 
const pointlayout_size () const
 
void clear_layout_size ()
 Throws away layout_size_. More...
 

Private Member Functions

void paste_selection () override
 Inherited from text_box_base. More...
 
void delete_char (const bool before_cursor) override
 Inherited from text_box_base. More...
 
void delete_selection () override
 Inherited from text_box_base. More...
 
void handle_mouse_selection (point mouse, const bool start_selection)
 
void update_offsets ()
 Updates text_x_offset_ and text_y_offset_. More...
 
unsigned get_line_end_offset (unsigned line_no)
 Utility function to calculate the offset of the end of the line. More...
 
unsigned get_line_start_offset (unsigned line_no)
 Utility function to calculate the offset of the end of the line. More...
 
void update_layout ()
 Update layout. More...
 
void handle_key_up_arrow (SDL_Keymod, bool &handled) override
 Inherited from text_box_base. More...
 
void handle_key_down_arrow (SDL_Keymod, bool &handled) override
 Inherited from text_box_base. More...
 
void handle_key_left_arrow (SDL_Keymod modifier, bool &handled) override
 Inherited from text_box_base. More...
 
void handle_key_right_arrow (SDL_Keymod modifier, bool &handled) override
 Inherited from text_box_base. More...
 
bool history_up ()
 Goes one item up in the history. More...
 
bool history_down ()
 Goes one item down in the history. More...
 
void handle_key_tab (SDL_Keymod modifier, bool &handled) override
 Inherited from text_box_base. More...
 
void handle_key_enter (SDL_Keymod modifier, bool &handled) override
 Inherited from text_box_base. More...
 
void handle_key_clear_line (SDL_Keymod modifier, bool &handled) override
 Inherited from text_box_base. More...
 
virtual const std::string & get_control_type () const override
 Inherited from styled_widget, implemented by REGISTER_WIDGET. More...
 
void signal_handler_mouse_motion (const event::ui_event event, bool &handled, const point &coordinate)
 
void signal_handler_left_button_down (const event::ui_event event, bool &handled)
 
void signal_handler_left_button_up (const event::ui_event event, bool &handled)
 
void signal_handler_left_button_double_click (const event::ui_event event, bool &handled)
 

Private Attributes

text_history history_
 The history text for this widget. More...
 
std::size_t max_input_length_
 The maximum length of the text input. More...
 
unsigned text_x_offset_
 The x offset in the widget where the text starts. More...
 
unsigned text_y_offset_
 The y offset in the widget where the text starts. More...
 
unsigned text_height_
 The height of the text itself. More...
 
bool dragging_
 Is the mouse in dragging mode, this affects selection in mouse move. More...
 
bool link_aware_
 Whether the text area is link aware, rendering links with special formatting and handling click events. More...
 
std::string hint_text_
 Helper text to display (such as "Search") if the text box is empty. More...
 
std::string hint_image_
 Image (such as a magnifying glass) that accompanies the help text. More...
 

Friends

struct implementation::builder_multiline_text
 

Additional Inherited Members

- Public Types inherited from gui2::text_box_base
enum  state_t { ENABLED , DISABLED , FOCUSED , HOVERED }
 Note the order of the states must be the same as defined in settings.hpp. More...
 
- Public Types inherited from gui2::widget
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 }
 
- Public Types inherited from gui2::event::dispatcher
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...
 

Detailed Description

Definition at line 31 of file multiline_text.hpp.

Constructor & Destructor Documentation

◆ multiline_text()

gui2::multiline_text::multiline_text ( const implementation::builder_multiline_text builder)
explicit

Member Function Documentation

◆ can_wrap()

bool gui2::multiline_text::can_wrap ( ) const
inlineoverridevirtual

See widget::can_wrap.

Reimplemented from gui2::widget.

Definition at line 39 of file multiline_text.hpp.

◆ clear()

void gui2::multiline_text::clear ( )
inline

Definition at line 70 of file multiline_text.hpp.

References gui2::text_box_base::set_value().

◆ delete_char()

void gui2::multiline_text::delete_char ( const bool  before_cursor)
overrideprivatevirtual

◆ delete_selection()

void gui2::multiline_text::delete_selection ( )
overrideprivatevirtual

◆ get_control_type()

virtual const std::string& gui2::multiline_text::get_control_type ( ) const
overrideprivatevirtual

Inherited from styled_widget, implemented by REGISTER_WIDGET.

Implements gui2::styled_widget.

Referenced by signal_handler_mouse_motion().

◆ get_cursor_pos()

point gui2::multiline_text::get_cursor_pos ( )
inline

◆ get_line_end_offset()

unsigned gui2::multiline_text::get_line_end_offset ( unsigned  line_no)
private

Utility function to calculate the offset of the end of the line.

Definition at line 236 of file multiline_text.cpp.

References gui2::text_box_base::get_line(), and draw::line().

Referenced by get_line_end_pos(), goto_end_of_line(), handle_key_down_arrow(), and handle_key_up_arrow().

◆ get_line_end_pos()

int gui2::multiline_text::get_line_end_pos ( )
inline

◆ get_line_start_offset()

unsigned gui2::multiline_text::get_line_start_offset ( unsigned  line_no)
private

Utility function to calculate the offset of the end of the line.

Definition at line 241 of file multiline_text.cpp.

References gui2::text_box_base::get_line().

Referenced by goto_start_of_line(), handle_key_down_arrow(), handle_key_up_arrow(), and handle_mouse_selection().

◆ get_link_aware()

virtual bool gui2::multiline_text::get_link_aware ( ) const
inlineoverridevirtual

◆ get_text_end_pos()

point gui2::multiline_text::get_text_end_pos ( )
inline

◆ goto_end_of_data()

void gui2::multiline_text::goto_end_of_data ( const bool  select = false)
inlineoverridevirtual

Inherited from text_box_base.

Reimplemented from gui2::text_box_base.

Definition at line 133 of file multiline_text.hpp.

References gui2::text_box_base::goto_end_of_data(), and update_layout().

◆ goto_end_of_line()

void gui2::multiline_text::goto_end_of_line ( const bool  select = false)
inlineoverridevirtual

◆ goto_start_of_data()

void gui2::multiline_text::goto_start_of_data ( const bool  select = false)
inlineoverridevirtual

Inherited from text_box_base.

Reimplemented from gui2::text_box_base.

Definition at line 140 of file multiline_text.hpp.

References gui2::text_box_base::goto_start_of_data(), and update_layout().

◆ goto_start_of_line()

void gui2::multiline_text::goto_start_of_line ( const bool  select = false)
inlineoverridevirtual

◆ handle_key_clear_line()

void gui2::multiline_text::handle_key_clear_line ( SDL_Keymod  modifier,
bool &  handled 
)
overrideprivatevirtual

Inherited from text_box_base.

Implements gui2::text_box_base.

Definition at line 325 of file multiline_text.cpp.

References gui2::text_box_base::set_value().

◆ handle_key_down_arrow()

void gui2::multiline_text::handle_key_down_arrow ( SDL_Keymod  modifier,
bool &  handled 
)
overrideprivatevirtual

◆ handle_key_enter()

void gui2::multiline_text::handle_key_enter ( SDL_Keymod  modifier,
bool &  handled 
)
overrideprivatevirtual

Inherited from text_box_base.

Reimplemented from gui2::text_box_base.

Definition at line 316 of file multiline_text.cpp.

References insert_char(), and gui2::text_box_base::is_editable().

◆ handle_key_left_arrow()

void gui2::multiline_text::handle_key_left_arrow ( SDL_Keymod  modifier,
bool &  handled 
)
inlineoverrideprivatevirtual

Inherited from text_box_base.

Unmodified Handled. Control Ignored. Shift Ignored. Alt Ignored.

Reimplemented from gui2::text_box_base.

Definition at line 262 of file multiline_text.hpp.

References gui2::text_box_base::handle_key_left_arrow(), and update_layout().

◆ handle_key_right_arrow()

void gui2::multiline_text::handle_key_right_arrow ( SDL_Keymod  modifier,
bool &  handled 
)
inlineoverrideprivatevirtual

Inherited from text_box_base.

Unmodified Handled. Control Ignored. Shift Ignored. Alt Ignored.

Reimplemented from gui2::text_box_base.

Definition at line 276 of file multiline_text.hpp.

References gui2::text_box_base::handle_key_right_arrow(), and update_layout().

◆ handle_key_tab()

void gui2::multiline_text::handle_key_tab ( SDL_Keymod  modifier,
bool &  handled 
)
overrideprivatevirtual

Inherited from text_box_base.

Reimplemented from gui2::text_box_base.

Definition at line 297 of file multiline_text.cpp.

References history_down(), history_up(), insert_char(), and gui2::text_box_base::is_editable().

◆ handle_key_up_arrow()

void gui2::multiline_text::handle_key_up_arrow ( SDL_Keymod  modifier,
bool &  handled 
)
overrideprivatevirtual

◆ handle_mouse_selection()

void gui2::multiline_text::handle_mouse_selection ( point  mouse,
const bool  start_selection 
)
private

◆ history_down()

bool gui2::multiline_text::history_down ( )
private

Goes one item down in the history.

Returns
True if there's a history, false otherwise.

Definition at line 284 of file multiline_text.cpp.

References gui2::text_history::down(), gui2::text_history::get_enabled(), gui2::text_box_base::get_value(), history_, and gui2::text_box_base::set_value().

Referenced by handle_key_tab().

◆ history_up()

bool gui2::multiline_text::history_up ( )
private

Goes one item up in the history.

Returns
True if there's a history, false otherwise.

Definition at line 271 of file multiline_text.cpp.

References gui2::text_history::get_enabled(), gui2::text_box_base::get_value(), history_, gui2::text_box_base::set_value(), and gui2::text_history::up().

Referenced by handle_key_tab().

◆ insert_char()

void gui2::multiline_text::insert_char ( const std::string &  unicode)
inlineoverrideprotectedvirtual

Inherited from text_box_base.

Reimplemented from gui2::text_box_base.

Definition at line 103 of file multiline_text.hpp.

References gui2::text_box_base::insert_char(), and update_layout().

Referenced by handle_key_enter(), and handle_key_tab().

◆ paste_selection()

void gui2::multiline_text::paste_selection ( )
inlineoverrideprivatevirtual

Inherited from text_box_base.

Reimplemented from gui2::text_box_base.

Definition at line 156 of file multiline_text.hpp.

References gui2::text_box_base::paste_selection(), and update_layout().

◆ place()

void gui2::multiline_text::place ( const point origin,
const point size 
)
overrideprotectedvirtual

◆ save_to_history()

void gui2::multiline_text::save_to_history ( )
inline

Saves the text in the widget to the history.

Definition at line 45 of file multiline_text.hpp.

References gui2::text_box_base::get_value(), history_, and gui2::text_history::push().

◆ set_cursor()

void gui2::multiline_text::set_cursor ( const std::size_t  offset,
const bool  select 
)
inlineoverrideprotectedvirtual

◆ set_hint_data()

void gui2::multiline_text::set_hint_data ( const std::string &  text,
const std::string &  image 
)
inline

◆ set_history()

void gui2::multiline_text::set_history ( const std::string &  id)
inline

Definition at line 52 of file multiline_text.hpp.

References gui2::text_history::get_history(), and history_.

◆ set_link_aware()

void gui2::multiline_text::set_link_aware ( bool  l)

◆ set_max_input_length()

void gui2::multiline_text::set_max_input_length ( const std::size_t  length)
inline

Definition at line 57 of file multiline_text.hpp.

References max_input_length_.

◆ signal_handler_left_button_double_click()

void gui2::multiline_text::signal_handler_left_button_double_click ( const event::ui_event  event,
bool &  handled 
)
private

Definition at line 454 of file multiline_text.cpp.

References DBG_GUI_E, LOG_HEADER, and gui2::text_box_base::select_all().

Referenced by multiline_text().

◆ signal_handler_left_button_down()

void gui2::multiline_text::signal_handler_left_button_down ( const event::ui_event  event,
bool &  handled 
)
private

◆ signal_handler_left_button_up()

void gui2::multiline_text::signal_handler_left_button_up ( const event::ui_event  event,
bool &  handled 
)
private

Definition at line 444 of file multiline_text.cpp.

References DBG_GUI_E, dragging_, and LOG_HEADER.

Referenced by multiline_text().

◆ signal_handler_mouse_motion()

void gui2::multiline_text::signal_handler_mouse_motion ( const event::ui_event  event,
bool &  handled,
const point coordinate 
)
private

◆ type()

static const std::string& gui2::multiline_text::type ( )
static

Static type getter that does not rely on the widget being constructed.

◆ update_canvas()

void gui2::multiline_text::update_canvas ( )
overrideprotectedvirtual

◆ update_layout()

void gui2::multiline_text::update_layout ( )
inlineprivate

◆ update_offsets()

void gui2::multiline_text::update_offsets ( )
private

Friends And Related Function Documentation

◆ implementation::builder_multiline_text

Definition at line 33 of file multiline_text.hpp.

Member Data Documentation

◆ dragging_

bool gui2::multiline_text::dragging_
private

Is the mouse in dragging mode, this affects selection in mouse move.

Definition at line 203 of file multiline_text.hpp.

Referenced by handle_mouse_selection(), signal_handler_left_button_up(), and signal_handler_mouse_motion().

◆ hint_image_

std::string gui2::multiline_text::hint_image_
private

Image (such as a magnifying glass) that accompanies the help text.

Definition at line 215 of file multiline_text.hpp.

Referenced by set_hint_data(), and update_canvas().

◆ hint_text_

std::string gui2::multiline_text::hint_text_
private

Helper text to display (such as "Search") if the text box is empty.

Definition at line 212 of file multiline_text.hpp.

Referenced by set_hint_data(), and update_canvas().

◆ history_

text_history gui2::multiline_text::history_
private

The history text for this widget.

Definition at line 172 of file multiline_text.hpp.

Referenced by history_down(), history_up(), save_to_history(), and set_history().

◆ link_aware_

bool gui2::multiline_text::link_aware_
private

Whether the text area is link aware, rendering links with special formatting and handling click events.

Definition at line 209 of file multiline_text.hpp.

Referenced by get_link_aware(), and set_link_aware().

◆ max_input_length_

std::size_t gui2::multiline_text::max_input_length_
private

The maximum length of the text input.

Definition at line 175 of file multiline_text.hpp.

Referenced by place(), set_max_input_length(), and update_canvas().

◆ text_height_

unsigned gui2::multiline_text::text_height_
private

The height of the text itself.

Needed to determine whether a click is on the text.

Definition at line 197 of file multiline_text.hpp.

Referenced by handle_mouse_selection(), and update_offsets().

◆ text_x_offset_

unsigned gui2::multiline_text::text_x_offset_
private

The x offset in the widget where the text starts.

This value is needed to translate a location in the widget to a location in the text.

Definition at line 183 of file multiline_text.hpp.

Referenced by handle_mouse_selection(), update_canvas(), and update_offsets().

◆ text_y_offset_

unsigned gui2::multiline_text::text_y_offset_
private

The y offset in the widget where the text starts.

Needed to determine whether a click is on the text.

Definition at line 190 of file multiline_text.hpp.

Referenced by handle_mouse_selection(), update_canvas(), and update_offsets().


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