Class for a combobox. More...
#include <combobox.hpp>
Public Member Functions | |
combobox (const implementation::builder_styled_widget &builder) | |
void | set_max_input_length (const std::size_t length) |
std::size_t | get_max_input_length () const |
void | set_hint_text (const std::string &text) |
std::string | get_hint_text () const |
void | set_hint_image (const std::string &image) |
std::string | get_hint_image () const |
void | set_hint_data (const std::string &text, const std::string &image) |
void | clear () |
int | get_item_count () const |
void | set_values (const std::vector<::config > &values, unsigned selected=0) |
void | set_selected (unsigned selected, bool fire_event=true) |
unsigned | get_selected () const |
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 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 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 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 &id, const bool must_be_active) override |
See widget::find. More... | |
const widget * | find (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_string & | get_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_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... | |
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 | |
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 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 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 |
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_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::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 ¢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 |
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 |
Updates the canvas(ses). More... | |
void | goto_end_of_line (const bool select=false) override |
Moves the cursor to the end of the line. More... | |
void | goto_start_of_line (const bool select=false) override |
Moves the cursor to the beginning of the line. More... | |
void | delete_char (const bool before_cursor) override |
Deletes the character. More... | |
void | delete_selection () override |
Deletes the current selection. More... | |
void | handle_mouse_selection (point mouse, const bool start_selection) |
Protected Member Functions inherited from gui2::text_box_base | |
size_t | get_composition_length () const |
Get length of composition text by IME. More... | |
virtual void | goto_end_of_data (const bool select=false) |
Moves the cursor to the end of all text. More... | |
virtual 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... | |
virtual void | set_cursor (const std::size_t offset, const bool select) |
Moves the cursor at the wanted position. More... | |
virtual void | insert_char (const std::string &unicode) |
Inserts a character at the cursor. More... | |
virtual void | copy_selection () |
Copies the current selection. More... | |
virtual void | paste_selection () |
Pastes 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_key_left_arrow (SDL_Keymod modifier, bool &handled) |
Left arrow key pressed. More... | |
virtual void | handle_key_right_arrow (SDL_Keymod modifier, bool &handled) |
Right arrow key pressed. More... | |
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 point & | layout_size () const |
void | clear_layout_size () |
Throws away layout_size_. More... | |
Private Member Functions | |
void | update_offsets () |
Updates text_x_offset_ and text_y_offset_. 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_clear_line (SDL_Keymod modifier, bool &handled) override |
Inherited from text_box_base. More... | |
void | update_mouse_cursor () |
Update the mouse cursor based on whether it is over button area or text area. More... | |
virtual const std::string & | get_control_type () const override |
Inherited from styled_widget, implemented by REGISTER_WIDGET. More... | |
void | signal_handler_mouse_enter (const event::ui_event, bool &) |
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 | |
std::size_t | max_input_length_ |
The maximum length of the text input. More... | |
unsigned const | ICON_SIZE = 25 |
Size of the dropdown icon TODO : Should be dynamically loaded from image. 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... | |
std::string | hint_text_ |
Helper text to display (such as "Search") if the combo box is empty. More... | |
std::string | hint_image_ |
Image (such as a magnifying glass) that accompanies the help text. More... | |
std::vector<::config > | values_ |
unsigned | selected_ |
Friends | |
struct | implementation::builder_combobox |
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... | |
Class for a combobox.
A widget that allows the user to input text or to select predefined options from a list accessed by clicking the dropdown arrow.
Definition at line 36 of file combobox.hpp.
|
explicit |
Definition at line 42 of file combobox.cpp.
References signal_handler_left_button_double_click(), signal_handler_left_button_down(), signal_handler_left_button_up(), signal_handler_mouse_enter(), and signal_handler_mouse_motion().
|
inline |
Definition at line 84 of file combobox.hpp.
References gui2::text_box_base::set_value().
|
overrideprotectedvirtual |
Deletes the character.
before_cursor | If true it deletes the character before the cursor (backspace) else the character after the cursor (delete). |
Implements gui2::text_box_base.
Definition at line 168 of file combobox.cpp.
References delete_selection(), gui2::text_box_base::get_selection_start(), gui2::text_box_base::set_cursor(), and gui2::text_box_base::set_selection_length().
|
overrideprotectedvirtual |
Deletes the current selection.
Implements gui2::text_box_base.
Definition at line 179 of file combobox.cpp.
References utf8::erase(), gui2::text_box_base::get_selection_length(), gui2::text_box_base::get_selection_start(), gui2::text_box_base::get_value(), gui2::text_box_base::set_cursor(), gui2::text_box_base::set_value(), and editor::start().
Referenced by delete_char().
|
overrideprivatevirtual |
Inherited from styled_widget, implemented by REGISTER_WIDGET.
Implements gui2::styled_widget.
Referenced by signal_handler_mouse_motion().
|
inline |
Definition at line 70 of file combobox.hpp.
References hint_image_.
|
inline |
Definition at line 59 of file combobox.hpp.
References hint_text_.
|
inline |
Definition at line 89 of file combobox.hpp.
References values_.
|
inline |
Definition at line 48 of file combobox.hpp.
References max_input_length_.
|
inline |
Definition at line 96 of file combobox.hpp.
References selected_.
|
inlineoverrideprotectedvirtual |
Moves the cursor to the end of the line.
select | Select the text from the original cursor position till the end of the line? |
Implements gui2::text_box_base.
Definition at line 107 of file combobox.hpp.
References gui2::text_box_base::goto_end_of_data().
|
inlineoverrideprotectedvirtual |
Moves the cursor to the beginning of the line.
select | Select the text from the original cursor position till the beginning of the line? |
Implements gui2::text_box_base.
Definition at line 112 of file combobox.hpp.
References gui2::text_box_base::goto_start_of_data().
|
overrideprivatevirtual |
Inherited from text_box_base.
Implements gui2::text_box_base.
Definition at line 248 of file combobox.cpp.
References gui2::text_box_base::set_value().
|
overrideprivatevirtual |
Inherited from text_box_base.
Unmodified Handled. Control Ignored. Shift Ignored. Alt Ignored.
Implements gui2::text_box_base.
Definition at line 263 of file combobox.cpp.
References DBG_GUI_E, LOG_SCOPE_HEADER, selected_, set_selected(), and values_.
|
overrideprivatevirtual |
Inherited from text_box_base.
Unmodified Handled. Control Ignored. Shift Ignored. Alt Ignored.
Implements gui2::text_box_base.
Definition at line 254 of file combobox.cpp.
References DBG_GUI_E, LOG_SCOPE_HEADER, selected_, and set_selected().
|
protected |
Definition at line 199 of file combobox.cpp.
References dragging_, gui2::text_box_base::get_column_line(), gui2::widget::get_x(), gui2::widget::get_y(), draw::point(), gui2::widget::queue_redraw(), gui2::text_box_base::set_cursor(), text_height_, text_x_offset_, text_y_offset_, and update_canvas().
Referenced by signal_handler_left_button_down(), and signal_handler_mouse_motion().
See widget::place.
Reimplemented from gui2::styled_widget.
Definition at line 76 of file combobox.cpp.
References gui2::styled_widget::get_text_maximum_height(), gui2::styled_widget::get_text_maximum_width(), ICON_SIZE, max_input_length_, gui2::styled_widget::place(), gui2::text_box_base::set_maximum_height(), gui2::text_box_base::set_maximum_length(), gui2::text_box_base::set_maximum_width(), utf8::size(), and update_offsets().
|
inline |
Definition at line 76 of file combobox.hpp.
References hint_image_, hint_text_, gui2::text_box_base::text(), and update_canvas().
|
inline |
Definition at line 64 of file combobox.hpp.
References hint_image_, and update_canvas().
|
inline |
Definition at line 53 of file combobox.hpp.
References hint_text_, gui2::text_box_base::text(), and update_canvas().
|
inline |
Definition at line 43 of file combobox.hpp.
References max_input_length_.
void gui2::combobox::set_selected | ( | unsigned | selected, |
bool | fire_event = true |
||
) |
Definition at line 287 of file combobox.cpp.
References gui2::event::dispatcher::fire(), gui2::event::implementation::fire_event(), gui2::event::NOTIFY_MODIFIED, gui2::widget::queue_redraw(), game_config::images::selected, selected_, gui2::text_box_base::set_value(), and values_.
Referenced by handle_key_down_arrow(), handle_key_up_arrow(), gui2::dialogs::editor_edit_unit::set_selected_from_string(), and signal_handler_left_button_down().
void gui2::combobox::set_values | ( | const std::vector<::config > & | values, |
unsigned | selected = 0 |
||
) |
Definition at line 272 of file combobox.cpp.
References gui2::widget::queue_redraw(), game_config::images::selected, selected_, gui2::text_box_base::set_value(), and values_.
Referenced by gui2::dialogs::editor_edit_unit::pre_show().
|
private |
Definition at line 385 of file combobox.cpp.
References DBG_GUI_E, LOG_HEADER, and gui2::text_box_base::select_all().
Referenced by combobox().
|
private |
Definition at line 337 of file combobox.cpp.
References DBG_GUI_E, gui2::get_mouse_position(), gui2::widget::get_size(), gui2::widget::get_window(), gui2::widget::get_x(), handle_mouse_selection(), ICON_SIZE, gui2::window::keyboard_capture(), LOG_HEADER, gui2::window::mouse_capture(), game_config::images::selected, selected_, gui2::dialogs::drop_down_menu::selected_item(), set_selected(), gui2::dialogs::modal_dialog::show(), and values_.
Referenced by combobox().
|
private |
Definition at line 375 of file combobox.cpp.
References DBG_GUI_E, dragging_, and LOG_HEADER.
Referenced by combobox().
|
private |
Definition at line 316 of file combobox.cpp.
References update_mouse_cursor().
Referenced by combobox().
|
private |
Definition at line 322 of file combobox.cpp.
References DBG_GUI_E, dragging_, get_control_type(), handle_mouse_selection(), gui2::widget::id(), and update_mouse_cursor().
Referenced by combobox().
|
static |
Static type getter that does not rely on the widget being constructed.
|
overrideprotectedvirtual |
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 89 of file combobox.cpp.
References gui2::widget::can_wrap(), gui2::styled_widget::get_canvases(), gui2::text_box_base::get_composition_length(), gui2::text_box_base::get_composition_start(), gui2::text_box_base::get_cursor_position(), gui2::text_box_base::get_length(), gui2::text_box_base::get_selection_length(), gui2::text_box_base::get_selection_start(), gui2::styled_widget::get_text_maximum_height(), gui2::styled_widget::get_text_maximum_width(), gui2::text_box_base::get_value(), hint_image_, hint_text_, ICON_SIZE, max_input_length_, gui2::text_box_base::set_ellipse_mode(), gui2::text_box_base::set_maximum_length(), editor::start(), text_x_offset_, and text_y_offset_.
Referenced by handle_mouse_selection(), set_hint_data(), set_hint_image(), set_hint_text(), and update_offsets().
|
private |
Update the mouse cursor based on whether it is over button area or text area.
Definition at line 304 of file combobox.cpp.
References gui2::get_mouse_position(), gui2::widget::get_size(), gui2::widget::get_x(), cursor::IBEAM, ICON_SIZE, cursor::NORMAL, and cursor::set().
Referenced by signal_handler_mouse_enter(), and signal_handler_mouse_motion().
|
private |
Updates text_x_offset_ and text_y_offset_.
Definition at line 223 of file combobox.cpp.
References wfl::map_formula_callable::add(), gui2::styled_widget::get_canvases(), gui2::widget::get_height(), font::get_max_height(), gui2::styled_widget::get_text_font_size(), gui2::widget::get_width(), text_height_, text_x_offset_, text_y_offset_, and update_canvas().
Referenced by place().
|
friend |
Definition at line 38 of file combobox.hpp.
|
private |
Is the mouse in dragging mode, this affects selection in mouse move.
Definition at line 159 of file combobox.hpp.
Referenced by handle_mouse_selection(), signal_handler_left_button_up(), and signal_handler_mouse_motion().
|
private |
Image (such as a magnifying glass) that accompanies the help text.
Definition at line 165 of file combobox.hpp.
Referenced by get_hint_image(), set_hint_data(), set_hint_image(), and update_canvas().
|
private |
Helper text to display (such as "Search") if the combo box is empty.
Definition at line 162 of file combobox.hpp.
Referenced by get_hint_text(), set_hint_data(), set_hint_text(), and update_canvas().
|
private |
Size of the dropdown icon TODO : Should be dynamically loaded from image.
Definition at line 131 of file combobox.hpp.
Referenced by place(), signal_handler_left_button_down(), update_canvas(), and update_mouse_cursor().
|
private |
The maximum length of the text input.
Definition at line 126 of file combobox.hpp.
Referenced by get_max_input_length(), place(), set_max_input_length(), and update_canvas().
|
private |
Definition at line 169 of file combobox.hpp.
Referenced by get_selected(), handle_key_down_arrow(), handle_key_up_arrow(), set_selected(), set_values(), and signal_handler_left_button_down().
|
private |
The height of the text itself.
Needed to determine whether a click is on the text.
Definition at line 153 of file combobox.hpp.
Referenced by handle_mouse_selection(), and update_offsets().
|
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 139 of file combobox.hpp.
Referenced by handle_mouse_selection(), update_canvas(), and update_offsets().
|
private |
The y offset in the widget where the text starts.
Needed to determine whether a click is on the text.
Definition at line 146 of file combobox.hpp.
Referenced by handle_mouse_selection(), update_canvas(), and update_offsets().
|
private |
Definition at line 167 of file combobox.hpp.
Referenced by get_item_count(), handle_key_down_arrow(), set_selected(), set_values(), and signal_handler_left_button_down().