Abstract base class for text items. More...
#include <text.hpp>
Public Member Functions | |
ttext_ () | |
virtual void | set_active (const bool active) override |
See tcontrol::set_active. More... | |
virtual bool | get_active () const override |
See tcontrol::get_active. More... | |
virtual unsigned | get_state () const override |
See tcontrol::get_state. More... | |
void | set_maximum_length (const size_t maximum_length) |
size_t | get_length () const |
virtual void | set_value (const std::string &text) |
The set_value is virtual for the tpassword_box class. More... | |
std::string | get_value () const |
const std::string & | text () const |
void | set_text_changed_callback (std::function< void(ttext_ *textbox, const std::string text)> cb) |
Set the text_changed callback. More... | |
Public Member Functions inherited from gui2::tcontrol | |
tcontrol (const unsigned canvas_count) | |
tcontrol (const implementation::tbuilder_control &builder, const unsigned canvas_count, const std::string &control_type) | |
Constructor. More... | |
virtual void | set_members (const string_map &data) |
Sets the members of the control. More... | |
bool | disable_click_dismiss () const override |
See twidget::disable_click_dismiss. More... | |
virtual iterator::twalker_ * | create_walker () override |
See twidget::create_walker. More... | |
tpoint | get_config_minimum_size () const |
Gets the minimum size as defined in the config. More... | |
tpoint | get_config_default_size () const |
Gets the default size as defined in the config. More... | |
tpoint | 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 bool | get_link_aware () const |
Returns whether the label should be link_aware, in in rendering and in searching for links with get_link. More... | |
virtual std::string | get_link_color () const |
Returns the color string to be used with links. More... | |
virtual void | layout_initialise (const bool full_initialisation) override |
See twidget::layout_initialise. More... | |
virtual void | request_reduce_width (const unsigned maximum_width) override |
See twidget::request_reduce_width. More... | |
virtual void | place (const tpoint &origin, const tpoint &size) override |
See twidget::place. More... | |
virtual twidget * | find_at (const tpoint &coordinate, const bool must_be_active) override |
See twidget::find_at. More... | |
virtual const twidget * | find_at (const tpoint &coordinate, const bool must_be_active) const override |
See twidget::find_at. More... | |
twidget * | find (const std::string &id, const bool must_be_active) override |
See twidget::find. More... | |
const twidget * | find (const std::string &id, const bool must_be_active) const override |
See twidget::find. More... | |
void | set_definition (const std::string &definition) |
Sets the definition. More... | |
bool | get_use_tooltip_on_label_overflow () const |
void | set_use_tooltip_on_label_overflow (const bool use_tooltip=true) |
const t_string & | label () const |
virtual void | set_label (const t_string &label) |
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< tcanvas > & | canvas () |
tcanvas & | canvas (const unsigned index) |
void | set_text_alignment (const PangoAlignment text_alignment) |
PangoAlignment | get_text_alignment () const |
virtual const std::string & | get_control_type () const =0 |
Returns the control_type of the control. More... | |
Public Member Functions inherited from gui2::twidget | |
twidget () | |
twidget (const tbuilder_widget &builder) | |
Constructor. More... | |
virtual | ~twidget () override |
void | set_id (const std::string &id) |
const std::string & | id () const |
twindow * | get_window () |
Get the parent window. More... | |
const twindow * | get_window () const |
The constant version of get_window. More... | |
tdialog * | dialog () |
Returns the top-level dialogue. More... | |
void | set_parent (twidget *parent) |
twidget * | parent () |
virtual void | demand_reduce_width (const unsigned maximum_width) |
Tries to reduce the width of a widget. More... | |
virtual void | request_reduce_height (const unsigned maximum_height) |
Tries to reduce the height of a widget. More... | |
virtual void | demand_reduce_height (const unsigned maximum_height) |
Tries to reduce the height of a widget. More... | |
tpoint | 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 bool | can_wrap () const |
Can the widget wrap. More... | |
virtual void | set_origin (const tpoint &origin) |
Sets the origin of the widget. More... | |
virtual void | set_size (const tpoint &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 | layout_children () |
Allows a widget to update its children. More... | |
tpoint | get_origin () const |
Returns the screen origin of the widget. More... | |
tpoint | get_size () const |
Returns the size of the widget. More... | |
SDL_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) |
SDL_Rect | calculate_blitting_rectangle (const int x_offset, const int y_offset) |
Calculates the blitting rectangle of the widget. More... | |
SDL_Rect | calculate_clipping_rectangle (const int x_offset, const int y_offset) |
Calculates the clipping rectangle of the widget. More... | |
void | draw_background (surface &frame_buffer, int x_offset, int y_offset) |
Draws the background of a widget. More... | |
void | draw_children (surface &frame_buffer, int x_offset, int y_offset) |
Draws the children of a widget. More... | |
void | draw_foreground (surface &frame_buffer, int x_offset, int y_offset) |
Draws the foreground of the widget. More... | |
void | populate_dirty_list (twindow &caller, std::vector< twidget * > &call_stack) |
Adds a widget to the dirty list if it is dirty. 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 | set_is_dirty (const bool is_dirty) |
bool | get_is_dirty () const |
void | set_visible (const tvisible::scoped_enum visible) |
tvisible::scoped_enum | get_visible () const |
tredraw_action::scoped_enum | get_drawing_action () const |
void | set_debug_border_mode (const unsigned debug_border_mode) |
void | set_debug_border_colour (const unsigned debug_border_colour) |
virtual bool | has_widget (const twidget &widget) const |
Does the widget contain the widget. More... | |
Public Member Functions inherited from gui2::tevent_executor | |
tevent_executor () | |
virtual | ~tevent_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 |
tevent_executor & | set_wants_mouse_right_double_click (const bool click=true) |
bool | wants_mouse_right_double_click () const |
Public Member Functions inherited from gui2::event::tdispatcher | |
tdispatcher () | |
virtual | ~tdispatcher () |
void | connect () |
Connects the dispatcher to the event handler. More... | |
bool | has_event (const tevent event, const tevent_type event_type) |
bool | fire (const tevent event, twidget &target) |
Fires an event which has no extra parameters. More... | |
bool | fire (const tevent event, twidget &target, const tpoint &coordinate) |
Fires an event which takes a coordinate parameter. More... | |
bool | fire (const tevent event, twidget &target, const SDLKey key, const SDLMod modifier, const utf8::string &unicode) |
Fires an event which takes keyboard parameters. More... | |
bool | fire (const tevent event, twidget &target, void *) |
Fires an event which takes notification parameters. More... | |
bool | fire (const tevent event, twidget &target, tmessage &message) |
Fires an event which takes message parameters. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event, boost::mpl::int_ < E > > >::type | connect_signal (const tsignal_function &signal, const tposition position=back_child) |
Connect a signal for callback in tset_event. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event, boost::mpl::int_ < E > > >::type | disconnect_signal (const tsignal_function &signal, const tposition position=back_child) |
Disconnect a signal for callback in tset_event. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event_mouse, boost::mpl::int_< E > > >::type | connect_signal (const tsignal_mouse_function &signal, const tposition position=back_child) |
Connect a signal for callback in tset_event_mouse. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event_mouse, boost::mpl::int_< E > > >::type | disconnect_signal (const tsignal_mouse_function &signal, const tposition position=back_child) |
Disconnect a signal for callback in tset_event_mouse. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event_keyboard, boost::mpl::int_< E > > >::type | connect_signal (const tsignal_keyboard_function &signal, const tposition position=back_child) |
Connect a signal for callback in tset_event_keyboard. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event_keyboard, boost::mpl::int_< E > > >::type | disconnect_signal (const tsignal_keyboard_function &signal, const tposition position=back_child) |
Disconnect a signal for callback in tset_event_keyboard. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event_notification, boost::mpl::int_< E > > >::type | connect_signal (const tsignal_notification_function &signal, const tposition position=back_child) |
Connect a signal for callback in tset_event_notification. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event_notification, boost::mpl::int_< E > > >::type | disconnect_signal (const tsignal_notification_function &signal, const tposition position=back_child) |
Disconnect a signal for callback in tset_event_notification. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event_message, boost::mpl::int_< E > > >::type | connect_signal (const tsignal_message_function &signal, const tposition position=back_child) |
Connect a signal for callback in tset_event_message. More... | |
template<tevent E> | |
boost::enable_if < boost::mpl::has_key < tset_event_message, boost::mpl::int_< E > > >::type | disconnect_signal (const tsignal_message_function &signal, const tposition position=back_child) |
Disconnect a signal for callback in tset_event_message. More... | |
void | capture_mouse () |
Captures the mouse. More... | |
void | release_mouse () |
Releases the mouse capture. More... | |
void | set_mouse_behavior (const tmouse_behavior mouse_behavior) |
tmouse_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 thotkey_function &function) |
Registers a hotkey. More... | |
bool | execute_hotkey (const hotkey::HOTKEY_COMMAND id) |
Executes a hotkey. More... | |
Protected Member Functions | |
virtual void | goto_end_of_line (const bool select=false)=0 |
Moves the cursor to the end of the line. More... | |
void | goto_end_of_data (const bool select=false) |
Moves the cursor to the end of all text. More... | |
virtual void | goto_start_of_line (const bool select=false)=0 |
Moves the cursor to the beginning of the line. More... | |
void | goto_start_of_data (const bool select=false) |
Moves the cursor to the beginning of the data. More... | |
void | select_all () |
Selects all text. More... | |
void | set_cursor (const size_t offset, const bool select) |
Moves the cursor at the wanted position. More... | |
virtual void | insert_char (const utf8::string &unicode) |
Inserts a character at the cursor. More... | |
virtual void | delete_char (const bool before_cursor)=0 |
Deletes the character. More... | |
virtual void | delete_selection ()=0 |
Deletes the current selection. More... | |
virtual void | copy_selection (const bool mouse) |
Copies the current selection. More... | |
virtual void | paste_selection (const bool mouse) |
Pastes the current selection. More... | |
gui2::tpoint | get_cursor_position (const unsigned column, const unsigned line=0) const |
tpoint | get_column_line (const tpoint &position) const |
void | set_font_size (const unsigned font_size) |
void | set_font_style (const unsigned 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) |
size_t | get_selection_start () const |
void | set_selection_start (const size_t selection_start) |
size_t | get_selection_length () const |
void | set_selection_length (const int selection_length) |
virtual void | handle_key_default (bool &handled, SDLKey key, SDLMod modifier, const utf8::string &unicode) |
Default key handler if none of the above functions is called. More... | |
Protected Member Functions inherited from gui2::tcontrol | |
virtual tpoint | calculate_best_size () const override |
See twidget::calculate_best_size. More... | |
tresolution_definition_ptr | config () |
tresolution_definition_const_ptr | config () const |
void | set_config (tresolution_definition_ptr config) |
virtual void | update_canvas () |
Updates the canvas(ses). 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 void | impl_draw_background (surface &frame_buffer, int x_offset, int y_offset) override |
See twidget::impl_draw_background. More... | |
virtual void | impl_draw_foreground (surface &frame_buffer, int x_offset, int y_offset) override |
See twidget::impl_draw_foreground. More... | |
std::string | get_label_token (const gui2::tpoint &position, const char *delimiters=" \n\r\t") const |
Exposes font::ttext::get_token, for the text label of this control. More... | |
std::string | get_label_link (const gui2::tpoint &position) const |
Protected Member Functions inherited from gui2::twidget | |
void | set_layout_size (const tpoint &size) |
const tpoint & | layout_size () const |
Private Types | |
enum | tstate { ENABLED, DISABLED, FOCUSED, COUNT } |
Note the order of the states must be the same as defined in settings.hpp. More... | |
Private Member Functions | |
void | set_state (const tstate state) |
virtual void | handle_key_up_arrow (SDLMod modifier, bool &handled)=0 |
Every key can have several behaviors. More... | |
virtual void | handle_key_down_arrow (SDLMod modifier, bool &handled)=0 |
Down arrow key pressed. More... | |
virtual void | handle_key_clear_line (SDLMod modifier, bool &handled)=0 |
Clears the current line. More... | |
virtual void | handle_key_left_arrow (SDLMod modifier, bool &handled) |
Left arrow key pressed. More... | |
virtual void | handle_key_right_arrow (SDLMod modifier, bool &handled) |
Right arrow key pressed. More... | |
virtual void | handle_key_home (SDLMod modifier, bool &handled) |
Home key pressed. More... | |
virtual void | handle_key_end (SDLMod modifier, bool &handled) |
End key pressed. More... | |
virtual void | handle_key_backspace (SDLMod modifier, bool &handled) |
Backspace key pressed. More... | |
virtual void | handle_key_delete (SDLMod modifier, bool &handled) |
Delete key pressed. More... | |
virtual void | handle_key_page_up (SDLMod, bool &) |
Page up key. More... | |
virtual void | handle_key_page_down (SDLMod, bool &) |
Page down key. More... | |
void | signal_handler_middle_button_click (const event::tevent event, bool &handled) |
void | signal_handler_sdl_key_down (const event::tevent event, bool &handled, const SDLKey key, SDLMod modifier, const utf8::string &unicode) |
void | signal_handler_receive_keyboard_focus (const event::tevent event) |
void | signal_handler_lose_keyboard_focus (const event::tevent event) |
Private Attributes | |
tstate | state_ |
Current state of the widget. More... | |
font::ttext | text_ |
The text entered in the widget. More... | |
size_t | selection_start_ |
Start of the selected text. More... | |
int | selection_length_ |
Length of the selected text. More... | |
std::function< void(ttext_ *textbox, const std::string text)> | text_changed_callback_ |
Text changed callback. More... | |
Additional Inherited Members | |
Public Types inherited from gui2::event::tdispatcher | |
enum | tevent_type { pre = 1, child = 2, post = 4 } |
enum | tposition { 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 | tmouse_behavior { all, hit, none } |
The behavior of the mouse events. More... | |
Abstract base class for text items.
All other text classes should inherit from this base class.
The NOTIFY_MODIFIED event is send when the text is modified.
Common signal handlers:
|
private |
gui2::ttext_::ttext_ | ( | ) |
Definition at line 32 of file text.cpp.
References signal_handler_lose_keyboard_focus(), signal_handler_middle_button_click(), signal_handler_receive_keyboard_focus(), and signal_handler_sdl_key_down().
|
protectedvirtual |
Copies the current selection.
Definition at line 148 of file text.cpp.
References desktop::clipboard::copy_to_clipboard(), utf8::index(), selection_length_, selection_start_, font::ttext::text(), and text_.
Referenced by set_cursor(), and signal_handler_sdl_key_down().
|
protectedpure virtual |
Deletes the character.
before_cursor | If true it deletes the character before the cursor (backspace) else the character after the cursor (delete). |
Implemented in gui2::ttext_box, and gui2::tpassword_box.
Referenced by handle_key_backspace(), and handle_key_delete().
|
protectedpure virtual |
Deletes the current selection.
Implemented in gui2::ttext_box.
Referenced by handle_key_backspace(), handle_key_delete(), insert_char(), paste_selection(), and signal_handler_sdl_key_down().
|
overridevirtual |
See tcontrol::get_active.
Implements gui2::tcontrol.
Definition at line 63 of file text.cpp.
References DISABLED, and state_.
Referenced by set_active().
Definition at line 186 of file text.hpp.
References font::ttext::get_column_line(), and text_.
Referenced by gui2::ttext_box::handle_mouse_selection().
|
inlineprotected |
Definition at line 180 of file text.hpp.
References font::ttext::get_cursor_position(), and text_.
Referenced by gui2::ttext_box::update_canvas().
|
inline |
Definition at line 62 of file text.hpp.
References font::ttext::get_length(), and text_.
Referenced by gui2::ttext_box::update_canvas().
|
inlineprotected |
Definition at line 224 of file text.hpp.
References selection_length_.
Referenced by gui2::ttext_box::delete_selection(), gui2::tpassword_box::handle_key_backspace(), gui2::tpassword_box::handle_key_delete(), gui2::tpassword_box::post_function(), gui2::tpassword_box::pre_function(), and gui2::ttext_box::update_canvas().
|
inlineprotected |
Definition at line 218 of file text.hpp.
References selection_start_.
Referenced by gui2::ttext_box::delete_char(), gui2::ttext_box::delete_selection(), gui2::tpassword_box::handle_key_backspace(), gui2::tpassword_box::handle_key_delete(), gui2::tpassword_box::post_function(), gui2::tpassword_box::pre_function(), and gui2::ttext_box::update_canvas().
|
overridevirtual |
See tcontrol::get_state.
Implements gui2::tcontrol.
Definition at line 68 of file text.cpp.
References state_.
|
inline |
Definition at line 76 of file text.hpp.
References font::ttext::text(), and text_.
Referenced by gui2::taddon_list::browse_url_callback(), gui2::tlobby_main::chat_input_keypress_callback(), gui2::taddon_list::copy_url_callback(), gui2::ttext_box::delete_selection(), gui2::tlobby_player_info::do_kick_ban(), gui2::tlobby_main::game_filter_reload(), gui2::ttext_box::history_down(), gui2::ttext_box::history_up(), gui2::tpassword_box::post_function(), gui2::tmp_method_selection::post_show(), gui2::ttext_box::save_to_history(), gui2::tlobby_main::send_message_button_callback(), gui2::tpassword_box::set_value(), gui2::tchat_log::model::stream_log(), and gui2::ttext_box::update_canvas().
|
inlineprotected |
Moves the cursor to the end of all text.
For a single line text this is the same as goto_end_of_line().
select | Select the text from the original cursor position till the end of the data? |
Definition at line 110 of file text.hpp.
References font::ttext::get_length(), set_cursor(), and text_.
Referenced by gui2::ttext_box::goto_end_of_line(), handle_key_end(), and select_all().
|
protectedpure virtual |
Moves the cursor to the end of the line.
select | Select the text from the original cursor position till the end of the line? |
Implemented in gui2::ttext_box.
Referenced by handle_key_end().
|
inlineprotected |
Moves the cursor to the beginning of the data.
select | Select the text from the original cursor position till the beginning of the data? |
Definition at line 129 of file text.hpp.
References set_cursor().
Referenced by gui2::ttext_box::goto_start_of_line(), and handle_key_home().
|
protectedpure virtual |
Moves the cursor to the beginning of the line.
select | Select the text from the original cursor position till the beginning of the line? |
Implemented in gui2::ttext_box.
Referenced by handle_key_home().
Backspace key pressed.
Unmodified Deletes the character before the cursor, ignored if at the beginning of the data. Control Ignored. Shift Ignored. Alt Ignored.
Reimplemented in gui2::tpassword_box.
Definition at line 256 of file text.cpp.
References DBG_GUI_E, delete_char(), delete_selection(), gui2::event::tdispatcher::fire(), LOG_SCOPE_HEADER, gui2::event::NOTIFY_MODIFIED, selection_length_, and selection_start_.
Referenced by signal_handler_sdl_key_down().
|
privatepure virtual |
Clears the current line.
Unmodified Clears the current line. Control Ignored. Shift Ignored. Alt Ignored.
Implemented in gui2::ttext_box.
Referenced by signal_handler_sdl_key_down().
|
protectedvirtual |
Default key handler if none of the above functions is called.
Unmodified If invalid unicode it's ignored. Else if text selected the selected text is replaced with the unicode character send. Else the unicode character is inserted after the cursor. Control Ignored. Shift Ignored (already in the unicode value). Alt Ignored.
Reimplemented in gui2::ttext_box.
Definition at line 282 of file text.cpp.
References DBG_GUI_E, gui2::event::tdispatcher::fire(), insert_char(), LOG_SCOPE_HEADER, and gui2::event::NOTIFY_MODIFIED.
Referenced by gui2::ttext_box::handle_key_default(), and signal_handler_sdl_key_down().
Delete key pressed.
Unmodified If there is a selection that's deleted. Else if not at the end of the data the character after the cursor is deleted. Else the key is ignored. ignored if at the beginning of the data. Control Ignored. Shift Ignored. Alt Ignored.
Reimplemented in gui2::tpassword_box.
Definition at line 269 of file text.cpp.
References DBG_GUI_E, delete_char(), delete_selection(), gui2::event::tdispatcher::fire(), font::ttext::get_length(), LOG_SCOPE_HEADER, gui2::event::NOTIFY_MODIFIED, selection_length_, selection_start_, and text_.
Referenced by signal_handler_sdl_key_down().
|
privatepure virtual |
Down arrow key pressed.
The behavior is implementation defined.
Implemented in gui2::ttext_box.
Referenced by signal_handler_sdl_key_down().
End key pressed.
Unmodified Moves the cursor a to the end of the line. Control Like unmodified but to the end of the data. Shift Selects the text while moving. Alt Ignored.
Definition at line 244 of file text.cpp.
References DBG_GUI_E, goto_end_of_data(), goto_end_of_line(), and LOG_SCOPE_HEADER.
Referenced by signal_handler_sdl_key_down().
Home key pressed.
Unmodified Moves the cursor a to the beginning of the line. Control Like unmodified but to the beginning of the data. Shift Selects the text while moving. Alt Ignored.
Definition at line 232 of file text.cpp.
References DBG_GUI_E, goto_start_of_data(), goto_start_of_line(), and LOG_SCOPE_HEADER.
Referenced by signal_handler_sdl_key_down().
Left arrow key pressed.
Unmodified Moves the cursor a character to the left. Control Like unmodified but a word instead of a letter at the time. Shift Selects the text while moving. Alt Ignored.
Definition at line 208 of file text.cpp.
References DBG_GUI_E, LOG_SCOPE_HEADER, selection_length_, selection_start_, and set_cursor().
Referenced by signal_handler_sdl_key_down().
Page down key.
Unmodified Unhandled. Control Ignored. Shift Ignored. Alt Ignored.
Definition at line 406 of file text.hpp.
Referenced by signal_handler_sdl_key_down().
Page up key.
Unmodified Unhandled. Control Ignored. Shift Ignored. Alt Ignored.
Definition at line 394 of file text.hpp.
Referenced by signal_handler_sdl_key_down().
Right arrow key pressed.
Unmodified Moves the cursor a character to the right. Control Like unmodified but a word instead of a letter at the time. Shift Selects the text while moving. Alt Ignored.
Definition at line 220 of file text.cpp.
References DBG_GUI_E, font::ttext::get_length(), LOG_SCOPE_HEADER, selection_length_, selection_start_, set_cursor(), and text_.
Referenced by signal_handler_sdl_key_down().
|
privatepure virtual |
Every key can have several behaviors.
Unmodified No modifier is pressed. Control The control key is pressed. Shift The shift key is pressed. Alt The alt key is pressed.
If modifiers together do something else as the sum of the modifiers it's listed separately eg.
Control Moves 10 steps at the time. Shift Selects the text. Control + Shift Inserts 42 in the text.
There are some predefined actions for results. Unhandled The key/modifier is ignored and also reported unhandled. Ignored The key/modifier is ignored and it's expected the inherited classes do the same. Implementation defined The key/modifier is ignored and it's expected the inherited classes will define some meaning to it. Up arrow key pressed.
The behavior is implementation defined.
Implemented in gui2::ttext_box.
Referenced by signal_handler_sdl_key_down().
|
protectedvirtual |
Inserts a character at the cursor.
This function is preferred over set_text since it's optimized for updating the internal bookkeeping.
unicode | The unicode value of the character to insert. |
Reimplemented in gui2::tpassword_box.
Definition at line 135 of file text.cpp.
References delete_selection(), font::ttext::insert_text(), selection_start_, set_cursor(), gui2::twidget::set_is_dirty(), text_, and gui2::tcontrol::update_canvas().
Referenced by handle_key_default(), and gui2::tpassword_box::insert_char().
|
protectedvirtual |
Pastes the current selection.
Reimplemented in gui2::tpassword_box.
Definition at line 168 of file text.cpp.
References desktop::clipboard::copy_from_clipboard(), delete_selection(), gui2::event::tdispatcher::fire(), font::ttext::insert_text(), gui2::event::NOTIFY_MODIFIED, selection_start_, gui2::twidget::set_is_dirty(), text(), text_, and gui2::tcontrol::update_canvas().
Referenced by gui2::tpassword_box::paste_selection(), signal_handler_middle_button_click(), and signal_handler_sdl_key_down().
|
inlineprotected |
Selects all text.
Definition at line 135 of file text.hpp.
References goto_end_of_data(), and selection_start_.
Referenced by gui2::ttext_box::signal_handler_left_button_double_click().
|
overridevirtual |
See tcontrol::set_active.
Implements gui2::tcontrol.
Definition at line 56 of file text.cpp.
References DISABLED, ENABLED, get_active(), and set_state().
Referenced by gui2::tscreenshot_notification::pre_show(), gui2::taddon_list::pre_show(), gui2::tgame_cache_options::pre_show(), and gui2::tgame_version::pre_show().
|
protected |
Moves the cursor at the wanted position.
offset | The wanted new cursor position. |
select | Select the text from the original cursor position till the new position? |
Definition at line 108 of file text.cpp.
References copy_selection(), font::ttext::get_length(), selection_length_, selection_start_, gui2::twidget::set_is_dirty(), text_, and gui2::tcontrol::update_canvas().
Referenced by gui2::ttext_box::delete_char(), gui2::ttext_box::delete_selection(), goto_end_of_data(), goto_start_of_data(), handle_key_left_arrow(), handle_key_right_arrow(), gui2::ttext_box::handle_mouse_selection(), and insert_char().
|
inlineprotected |
Definition at line 211 of file text.hpp.
References font::ttext::set_ellipse_mode(), and text_.
Referenced by gui2::ttext_box::update_canvas().
|
inlineprotected |
Definition at line 191 of file text.hpp.
References font::ttext::set_font_size(), and text_.
Referenced by gui2::ttext_box::load_config_extra().
|
inlineprotected |
Definition at line 196 of file text.hpp.
References font::ttext::set_font_style(), and text_.
Referenced by gui2::ttext_box::load_config_extra().
Definition at line 206 of file text.hpp.
References font::ttext::set_maximum_height(), and text_.
Referenced by gui2::ttext_box::place().
void gui2::ttext_::set_maximum_length | ( | const size_t | maximum_length | ) |
Definition at line 73 of file text.cpp.
References font::ttext::get_length(), selection_length_, selection_start_, gui2::twidget::set_is_dirty(), font::ttext::set_maximum_length(), text_, and gui2::tcontrol::update_canvas().
Referenced by gui2::ttext_box::place(), gui2::tmp_method_selection::pre_show(), gui2::tmp_cmd_wrapper::pre_show(), and gui2::ttext_box::update_canvas().
Definition at line 201 of file text.hpp.
References font::ttext::set_maximum_width(), and text_.
Referenced by gui2::ttext_box::place().
Definition at line 192 of file text.cpp.
References selection_length_, and gui2::twidget::set_is_dirty().
Referenced by gui2::ttext_box::delete_char(), gui2::tpassword_box::post_function(), and gui2::tpassword_box::pre_function().
|
protected |
Definition at line 184 of file text.cpp.
References selection_start_, and gui2::twidget::set_is_dirty().
Referenced by gui2::tpassword_box::post_function(), and gui2::tpassword_box::pre_function().
Definition at line 200 of file text.cpp.
References gui2::twidget::set_is_dirty(), and state_.
Referenced by set_active(), signal_handler_lose_keyboard_focus(), and signal_handler_receive_keyboard_focus().
|
inline |
Set the text_changed callback.
Definition at line 87 of file text.hpp.
References text_changed_callback_.
Referenced by gui2::tchat_log::view::bind(), gui2::tgame_load::pre_show(), and gui2::tunit_create::pre_show().
|
virtual |
The set_value is virtual for the tpassword_box class.
That class overrides the set_value function to replace it with asterisk. There might be more generic way to do it when more classes are needed.
Reimplemented in gui2::tpassword_box.
Definition at line 95 of file text.cpp.
References font::ttext::get_length(), selection_length_, selection_start_, gui2::twidget::set_is_dirty(), font::ttext::set_text(), font::ttext::text(), text_, and gui2::tcontrol::update_canvas().
Referenced by gui2::implementation::tbuilder_text_box::build(), gui2::tlobby_main::chat_input_keypress_callback(), gui2::ttext_box::clear(), gui2::ttext_box::delete_selection(), gui2::tpreferences::edit_friend_list_entry(), gui2::ttext_box::handle_key_clear_line(), gui2::ttext_box::history_down(), gui2::ttext_box::history_up(), gui2::tpassword_box::post_function(), gui2::tpassword_box::pre_function(), gui2::tmp_method_selection::pre_show(), gui2::tscreenshot_notification::pre_show(), gui2::taddon_description::pre_show(), gui2::tgame_cache_options::pre_show(), gui2::tgame_version::pre_show(), gui2::tlobby_main::send_message_button_callback(), gui2::tpassword_box::set_value(), and gui2::tcustom_tod::update_selected_tod_info().
|
private |
Definition at line 443 of file text.cpp.
References DBG_GUI_E, ENABLED, LOG_HEADER, and set_state().
Referenced by ttext_().
|
private |
Definition at line 296 of file text.cpp.
References DBG_GUI_E, LOG_HEADER, and paste_selection().
Referenced by ttext_().
|
private |
Definition at line 436 of file text.cpp.
References DBG_GUI_E, FOCUSED, LOG_HEADER, and set_state().
Referenced by ttext_().
|
private |
Definition at line 306 of file text.cpp.
References copy_selection(), DBG_GUI_E, delete_selection(), handle_key_backspace(), handle_key_clear_line(), handle_key_default(), handle_key_delete(), handle_key_down_arrow(), handle_key_end(), handle_key_home(), handle_key_left_arrow(), handle_key_page_down(), handle_key_page_up(), handle_key_right_arrow(), handle_key_up_arrow(), KMOD_LMETA, KMOD_RMETA, LOG_HEADER, paste_selection(), SDLMod, text(), and text_changed_callback_.
Referenced by ttext_().
|
inline |
Definition at line 81 of file text.hpp.
References font::ttext::text(), and text_.
Referenced by gui2::tpreferences::add_friend_list_entry(), gui2::contains(), gui2::tpassword_box::handle_key_delete(), paste_selection(), gui2::tpreferences::remove_friend_list_entry(), and signal_handler_sdl_key_down().
|
private |
Length of the selected text.
Definition at line 264 of file text.hpp.
Referenced by copy_selection(), get_selection_length(), handle_key_backspace(), handle_key_delete(), handle_key_left_arrow(), handle_key_right_arrow(), set_cursor(), set_maximum_length(), set_selection_length(), and set_value().
|
private |
Start of the selected text.
Definition at line 255 of file text.hpp.
Referenced by copy_selection(), get_selection_start(), handle_key_backspace(), handle_key_delete(), handle_key_left_arrow(), handle_key_right_arrow(), insert_char(), paste_selection(), select_all(), set_cursor(), set_maximum_length(), set_selection_start(), and set_value().
|
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 249 of file text.hpp.
Referenced by get_active(), get_state(), and set_state().
|
private |
The text entered in the widget.
Definition at line 252 of file text.hpp.
Referenced by copy_selection(), get_column_line(), get_cursor_position(), get_length(), get_value(), goto_end_of_data(), handle_key_delete(), handle_key_right_arrow(), insert_char(), paste_selection(), set_cursor(), set_ellipse_mode(), set_font_size(), set_font_style(), set_maximum_height(), set_maximum_length(), set_maximum_width(), set_value(), and text().
|
private |
Text changed callback.
This callback is called in key_press after the key_press event has been handled by the control. The parameters to the function are:
Definition at line 438 of file text.hpp.
Referenced by set_text_changed_callback(), and signal_handler_sdl_key_down().