The Battle for Wesnoth  1.19.0-dev
Public Member Functions | List of all members
gui2::policy::maximum_selection::one_item Struct Reference

May select only one item. More...

#include <generator_private.hpp>

Inheritance diagram for gui2::policy::maximum_selection::one_item:

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 griditem (const unsigned index)=0
 Gets the grid of an item. More...
 
virtual const griditem (const unsigned index) const =0
 Gets the grid of an item. More...
 
virtual gridcreate_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 gridcreate_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 widgetfind_at (const point &coordinate, const bool must_be_active) override=0
 See widget::find_at. More...
 
virtual const widgetfind_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
 
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...
 
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 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)
 
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 &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 widgetfind (const std::string &id, const bool must_be_active)
 Returns a widget with the wanted id. More...
 
virtual const widgetfind (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...
 
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_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)
 

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_basebuild (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 griditem_ordered (const unsigned index)=0
 Gets the grid of an item. More...
 
virtual const griditem_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 pointlayout_size () const
 
void clear_layout_size ()
 Throws away layout_size_. More...
 

Detailed Description

May select only one item.

Definition at line 129 of file generator_private.hpp.

Member Function Documentation

◆ select_item()

void gui2::policy::maximum_selection::one_item::select_item ( const unsigned  index,
const bool  select 
)
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.

Precondition
select == true
Parameters
indexThe item to select.
selectShould 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().


The documentation for this struct was generated from the following file: