May select only one item. More...
#include <generator_private.hpp>
Public Member Functions | |
void | select_item (const unsigned index, const bool select) override |
Called when an item is selected. More... | |
Public Member Functions inherited from gui2::generator_base | |
virtual | ~generator_base () |
virtual void | delete_item (const unsigned index)=0 |
Deletes an item. More... | |
virtual void | clear ()=0 |
Deletes all items. More... | |
void | toggle_item (const unsigned index) |
Toggles the selection state of an item. More... | |
virtual bool | is_selected (const unsigned index) const =0 |
Returns whether the item is selected. More... | |
virtual void | set_item_shown (const unsigned index, const bool show)=0 |
Shows or hides an item. More... | |
virtual bool | get_item_shown (const unsigned index) const =0 |
Returns whether the item is shown. More... | |
boost::dynamic_bitset | get_items_shown () const |
Returns the visibility of all the items as a bit set. More... | |
virtual unsigned | get_item_count () const =0 |
Returns the number of items. More... | |
virtual unsigned | get_selected_item_count () const =0 |
Returns the number of selected items. More... | |
virtual int | get_selected_item () const =0 |
Returns the selected item. More... | |
virtual grid & | item (const unsigned index)=0 |
Gets the grid of an item. More... | |
virtual const grid & | item (const unsigned index) const =0 |
Gets the grid of an item. More... | |
virtual grid & | create_item (const int index, const builder_grid &list_builder, const widget_item &item_data, const std::function< void(widget &)> &callback)=0 |
Creates a new item. More... | |
virtual grid & | create_item (const int index, const builder_grid &list_builder, const widget_data &data, const std::function< void(widget &)> &callback)=0 |
Creates a new item. More... | |
virtual void | create_items (const int index, const builder_grid &list_builder, const std::vector< widget_item > &data, const std::function< void(widget &)> &callback)=0 |
Creates one or more new item(s). More... | |
virtual void | create_items (const int index, const builder_grid &list_builder, const std::vector< widget_data > &data, const std::function< void(widget &)> &callback)=0 |
Creates one or more new item(s). More... | |
virtual void | set_order (const order_func &order)=0 |
virtual void | layout_initialize (const bool full_initialization) override=0 |
See widget::layout_initialize. More... | |
virtual void | request_reduce_width (const unsigned maximum_width) override=0 |
See widget::request_reduce_width. More... | |
virtual void | request_reduce_height (const unsigned maximum_height) override=0 |
See widget::request_reduce_height. More... | |
virtual point | calculate_best_size () const override=0 |
See widget::calculate_best_size. More... | |
virtual void | place (const point &origin, const point &size) override=0 |
See widget::place. More... | |
virtual void | set_origin (const point &origin) override=0 |
See widget::set_origin. More... | |
virtual void | set_visible_rectangle (const SDL_Rect &rectangle) override=0 |
See widget::set_visible_rectangle. More... | |
virtual void | impl_draw_children () override=0 |
See widget::impl_draw_children. More... | |
virtual widget * | find_at (const point &coordinate, const bool must_be_active) override=0 |
See widget::find_at. More... | |
virtual const widget * | find_at (const point &coordinate, const bool must_be_active) const override=0 |
See widget::find_at. More... | |
virtual void | handle_key_up_arrow (SDL_Keymod modifier, bool &handled)=0 |
Up arrow key pressed. More... | |
virtual void | handle_key_down_arrow (SDL_Keymod modifier, bool &handled)=0 |
Down arrow key pressed. More... | |
virtual void | handle_key_left_arrow (SDL_Keymod modifier, bool &handled)=0 |
Left arrow key pressed. More... | |
virtual void | handle_key_right_arrow (SDL_Keymod modifier, bool &handled)=0 |
Right arrow key pressed. More... | |
virtual unsigned | get_ordered_index (unsigned index) const =0 |
If a sort-order is being applied, maps from unsorted to sorted indicies. More... | |
virtual unsigned | get_item_at_ordered (unsigned index_ordered) const =0 |
If a sort-order is being applied, maps from sorted to unsorted indicies. 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_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... | |
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 widget * | find (const std::string &id, const bool must_be_active) |
Returns a widget with the wanted id. More... | |
virtual const widget * | find (const std::string &id, const bool must_be_active) const |
The constant version of find. More... | |
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 |
virtual bool | disable_click_dismiss () const =0 |
Does the widget disable easy close? More... | |
virtual iteration::walker_ptr | create_walker ()=0 |
Creates a new walker object on the heap. More... | |
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) | |
Additional Inherited Members | |
Public Types inherited from gui2::generator_base | |
enum | placement { horizontal_list , vertical_list , table , independent } |
Determines how the items are placed. More... | |
typedef std::function< bool(unsigned, unsigned)> | order_func |
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... | |
Static Public Member Functions inherited from gui2::generator_base | |
static std::unique_ptr< generator_base > | build (const bool has_minimum, const bool has_maximum, const placement placement, const bool select) |
Create a new generator. More... | |
Protected Member Functions inherited from gui2::generator_base | |
virtual void | do_select_item (const unsigned index)=0 |
Selects a not selected item. More... | |
virtual void | do_deselect_item (const unsigned index)=0 |
Deselects a selected item. More... | |
virtual grid & | item_ordered (const unsigned index)=0 |
Gets the grid of an item. More... | |
virtual const grid & | item_ordered (const unsigned index) const =0 |
Gets the grid of an item. More... | |
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... | |
May select only one item.
Definition at line 129 of file generator_private.hpp.
|
inlineoverridevirtual |
Called when an item is selected.
This function can deselect other items to obey the policy. This function should always call do_select_item() so the new item does get selected.
Since this function controls the maximum selection count it should only be used to select items, not to deselect them.
select
== true
index | The item to select. |
select | Should always be true. |
Implements gui2::generator_base.
Definition at line 146 of file generator_private.hpp.
References gui2::generator_base::do_deselect_item(), gui2::generator_base::do_select_item(), gui2::generator_base::get_selected_item(), gui2::generator_base::get_selected_item_count(), and utf8::index().