Must select at least one item. More...
#include <generator_private.hpp>

Public Member Functions | |
| void | set_item_shown (const unsigned index, const bool show) |
| Called when an item is shown or hidden. More... | |
| void | create_item (const unsigned index) |
| Called when an item is created. More... | |
| bool | deselect_item (const unsigned index) |
| Called when the users wants to deselect an item. More... | |
| void | delete_item (const unsigned index) |
| Called just before an item is deleted. More... | |
Public Member Functions inherited from gui2::tgenerator_ | |
| virtual | ~tgenerator_ () |
| virtual void | clear ()=0 |
| Deletes all items. More... | |
| virtual void | select_item (const unsigned index, const bool select)=0 |
| (De)selects an item. 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 bool | get_item_shown (const unsigned index) const =0 |
| Returns whether the item is shown. 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 tgrid & | item (const unsigned index)=0 |
| Gets the grid of an item. More... | |
| virtual const tgrid & | item (const unsigned index) const =0 |
| Gets the grid of an item. More... | |
| virtual tgrid & | create_item (const int index, tbuilder_grid_const_ptr list_builder, const string_map &item_data, const std::function< void(twidget &)> &callback)=0 |
| Creates a new item. More... | |
| virtual tgrid & | create_item (const int index, tbuilder_grid_const_ptr list_builder, const std::map< std::string, string_map > &data, const std::function< void(twidget &)> &callback)=0 |
| Creates a new item. More... | |
| virtual void | create_items (const int index, tbuilder_grid_const_ptr list_builder, const std::vector< string_map > &data, const std::function< void(twidget &)> &callback)=0 |
| Creates one or more new item(s). More... | |
| virtual void | create_items (const int index, tbuilder_grid_const_ptr list_builder, const std::vector< std::map< std::string, string_map > > &data, const std::function< void(twidget &)> &callback)=0 |
| Creates one or more new item(s). More... | |
| virtual void | set_order (const torder_func &order)=0 |
| virtual void | layout_initialise (const bool full_initialisation) override=0 |
| See twidget::layout_initialise. More... | |
| virtual void | request_reduce_width (const unsigned maximum_width) override=0 |
| See twidget::request_reduce_width. More... | |
| virtual void | request_reduce_height (const unsigned maximum_height) override=0 |
| See twidget::request_reduce_height. More... | |
| virtual tpoint | calculate_best_size () const override=0 |
| See twidget::calculate_best_size. More... | |
| virtual void | place (const tpoint &origin, const tpoint &size) override=0 |
| See twidget::place. More... | |
| virtual void | set_origin (const tpoint &origin) override=0 |
| See twidget::set_origin. More... | |
| virtual void | set_visible_rectangle (const SDL_Rect &rectangle) override=0 |
| See twidget::set_visible_rectangle. More... | |
| virtual void | impl_draw_children (surface &frame_buffer, int x_offset, int y_offset) override=0 |
| See twidget::impl_draw_children. More... | |
| virtual twidget * | find_at (const tpoint &coordinate, const bool must_be_active) override=0 |
| See twidget::find_at. More... | |
| virtual const twidget * | find_at (const tpoint &coordinate, const bool must_be_active) const override=0 |
| See twidget::find_at. More... | |
| virtual void | handle_key_up_arrow (SDLMod modifier, bool &handled)=0 |
| Up arrow key pressed. More... | |
| virtual void | handle_key_down_arrow (SDLMod modifier, bool &handled)=0 |
| Down arrow key pressed. More... | |
| virtual void | handle_key_left_arrow (SDLMod modifier, bool &handled)=0 |
| Left arrow key pressed. More... | |
| virtual void | handle_key_right_arrow (SDLMod modifier, bool &handled)=0 |
| Right arrow key pressed. 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 | 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_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... | |
| 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 twidget * | find (const std::string &id, const bool must_be_active) |
| Returns a widget with the wanted id. More... | |
| virtual const twidget * | find (const std::string &id, const bool must_be_active) const |
| The constant version of find. More... | |
| virtual bool | has_widget (const twidget &widget) const |
| Does the widget contain the widget. More... | |
| virtual bool | disable_click_dismiss () const =0 |
| Does the widget disable easy close? More... | |
| virtual iterator::twalker_ * | create_walker ()=0 |
| Creates a new walker object on the heap. 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... | |
Additional Inherited Members | |
Public Types inherited from gui2::tgenerator_ | |
| enum | tplacement { horizontal_list, vertical_list, grid, independent } |
| Determines how the items are placed. More... | |
| typedef std::function< bool(unsigned, unsigned)> | torder_func |
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... | |
Static Public Member Functions inherited from gui2::tgenerator_ | |
| static tgenerator_ * | build (const bool has_minimum, const bool has_maximum, const tplacement placement, const bool select) |
| Create a new generator. More... | |
Protected Member Functions inherited from gui2::tgenerator_ | |
| virtual void | child_populate_dirty_list (twindow &caller, const std::vector< twidget * > &call_stack) override=0 |
| See twidget::child_populate_dirty_list. More... | |
| 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 tgrid & | item_ordered (const unsigned index)=0 |
| Gets the grid of an item. More... | |
| virtual const tgrid & | item_ordered (const unsigned index) const =0 |
| Gets the grid of an item. More... | |
| virtual unsigned | get_ordered_index (unsigned index) const =0 |
| virtual unsigned | get_item_at_ordered (unsigned index_ordered) const =0 |
Protected Member Functions inherited from gui2::twidget | |
| void | set_layout_size (const tpoint &size) |
| const tpoint & | layout_size () const |
Must select at least one item.
Definition at line 42 of file generator_private.hpp.
| void gui2::policy::minimum_selection::tone::create_item | ( | const unsigned | index | ) |
Called when an item is created.
| index | The index of the new item. |
Definition at line 50 of file generator.cpp.
References gui2::tgenerator_::do_select_item(), and gui2::tgenerator_::get_selected_item_count().
|
virtual |
Called just before an item is deleted.
This function can if needed select another items to try to obey the policy.
| index | The index of the item to be deleted. |
Implements gui2::tgenerator_.
Definition at line 66 of file generator.cpp.
References gui2::tgenerator_::do_deselect_item(), gui2::tgenerator_::do_select_item(), gui2::tgenerator_::get_item_at_ordered(), gui2::tgenerator_::get_item_count(), gui2::tgenerator_::get_ordered_index(), gui2::tgenerator_::get_selected_item_count(), and gui2::tgenerator_::is_selected().
| bool gui2::policy::minimum_selection::tone::deselect_item | ( | const unsigned | index | ) |
Called when the users wants to deselect an item.
If the item can be deselected this function should call do_deselect_item() to make the deslection happen. If not allowed no action needs to be taken.
| index | The index of the item to deselect. |
Definition at line 57 of file generator.cpp.
References gui2::tgenerator_::do_deselect_item(), and gui2::tgenerator_::get_selected_item_count().
|
virtual |
Called when an item is shown or hidden.
| index | The item to show or hide. |
| show | If true shows the item, else hides it. |
Implements gui2::tgenerator_.
Definition at line 33 of file generator.cpp.
References gui2::tgenerator_::do_deselect_item(), gui2::tgenerator_::do_select_item(), gui2::tgenerator_::get_item_count(), gui2::tgenerator_::get_item_shown(), gui2::tgenerator_::get_selected_item_count(), i, and gui2::tgenerator_::is_selected().
1.8.8