This shows the multiplayer change control dialog. More...
#include <mp_change_control.hpp>
Public Member Functions | |
mp_change_control (events::menu_handler &mh) | |
![]() | |
modal_dialog () | |
virtual | ~modal_dialog () |
bool | show (const unsigned auto_close_time=0) |
Shows the window. More... | |
window * | get_window () const |
Returns a pointer to the dialog's window. More... | |
int | get_retval () const |
Returns the cached window exit code. More... | |
void | set_retval (int retval) |
Convenience wrapper to set the window's exit code. More... | |
void | set_always_save_fields (const bool always_save_fields) |
void | set_restore (const bool restore) |
void | set_allow_plugin_skip (const bool allow_plugin_skip) |
void | set_show_even_without_video (const bool show_even_without_video) |
Private Member Functions | |
virtual const std::string & | window_id () const override |
The id of the window to build. More... | |
virtual void | pre_show (window &window) override |
Actions to be taken before showing the window. More... | |
virtual void | post_show (window &window) override |
Actions to be taken after the window has been shown. More... | |
void | handle_sides_list_item_clicked () |
void | handle_nicks_list_item_clicked () |
void | highlight_side_nick () |
Private Attributes | |
events::menu_handler & | menu_handler_ |
unsigned int | selected_side_ |
unsigned int | selected_nick_ |
std::vector< int > | sides_ |
std::vector< std::string > | nicks_ |
Additional Inherited Members | |
![]() | |
template<typename T , typename... Args> | |
T * | register_field (Args &&... args) |
Creates a new field of given type with given arguments. More... | |
field_bool * | register_bool (const std::string &id, const bool mandatory, const std::function< bool()> callback_load_value=nullptr, const std::function< void(bool)> callback_save_value=nullptr, const std::function< void(widget &)> callback_change=nullptr, const bool initial_fire=false) |
Creates a new boolean field. More... | |
field_bool * | register_bool (const std::string &id, const bool mandatory, bool &linked_variable, const std::function< void(widget &)> callback_change=nullptr, const bool initial_fire=false) |
Creates a new boolean field. More... | |
field_integer * | register_integer (const std::string &id, const bool mandatory, const std::function< int()> callback_load_value=nullptr, const std::function< void(int)> callback_save_value=nullptr) |
Creates a new integer field. More... | |
field_integer * | register_integer (const std::string &id, const bool mandatory, int &linked_variable) |
Creates a new integer field. More... | |
field_text * | register_text (const std::string &id, const bool mandatory, const std::function< std::string()> callback_load_value=nullptr, const std::function< void(const std::string &)> callback_save_value=nullptr, const bool capture_focus=false) |
Creates a new text field. More... | |
field_text * | register_text (const std::string &id, const bool mandatory, std::string &linked_variable, const bool capture_focus=false) |
Creates a new text field. More... | |
field_label * | register_label (const std::string &id, const bool mandatory, const std::string &text, const bool use_markup=false) |
Registers a new styled_widget as a label. More... | |
field_label * | register_image (const std::string &id, const bool mandatory, const std::string &filename) |
Registers a new styled_widget as image. More... | |
![]() | |
std::unique_ptr< window > | window_ |
The window object build for this dialog. More... | |
This shows the multiplayer change control dialog.
Key | Type | Mandatory | Description |
---|---|---|---|
sides_list | listbox | yes | List of sides participating in the MP game. |
nicks_list | listbox | yes | List of nicks of all clients playing or observing the MP game. |
Definition at line 39 of file mp_change_control.hpp.
|
explicit |
Definition at line 48 of file mp_change_control.cpp.
|
private |
Definition at line 140 of file mp_change_control.cpp.
References gui2::dialogs::modal_dialog::get_window(), and selected_nick_.
Referenced by pre_show().
|
private |
Definition at line 133 of file mp_change_control.cpp.
References gui2::dialogs::modal_dialog::get_window(), highlight_side_nick(), and selected_side_.
Referenced by pre_show().
|
private |
Definition at line 145 of file mp_change_control.cpp.
References events::menu_handler::board(), gui2::listbox::get_row_grid(), gui2::dialogs::modal_dialog::get_window(), i, menu_handler_, nicks_, selected_side_, and game_board::teams().
Referenced by handle_sides_list_item_clicked().
|
overrideprivatevirtual |
Actions to be taken after the window has been shown.
At this point the registered fields already stored their values (if the OK has been pressed).
window | The window which has been shown. |
Reimplemented from gui2::dialogs::modal_dialog.
Definition at line 167 of file mp_change_control.cpp.
References DBG_GUI, gui2::window::get_retval(), menu_handler_, nicks_, gui2::OK, events::menu_handler::request_control_change(), selected_nick_, selected_side_, and sides_.
|
overrideprivatevirtual |
Actions to be taken before showing the window.
At this point the registered fields are registered and initialized with their initial values.
window | The window to be shown. |
Reimplemented from gui2::dialogs::modal_dialog.
Definition at line 57 of file mp_change_control.cpp.
References gui2::listbox::add_row(), events::menu_handler::board(), gui2::event::connect_signal_notify_modified(), team::current_player(), team::get_side_color(), game_display::get_singleton(), game_board::get_team(), handle_nicks_list_item_clicked(), handle_sides_list_item_clicked(), team::hidden(), team::is_empty(), team::is_idle(), team::is_local_ai(), team::is_network_ai(), preferences::login(), menu_handler_, nicks_, game_display::observers(), sides_, font::span_color(), game_board::teams(), and VGETTEXT.
|
overrideprivatevirtual |
The id of the window to build.
Implements gui2::dialogs::modal_dialog.
|
private |
Definition at line 58 of file mp_change_control.hpp.
Referenced by highlight_side_nick(), post_show(), and pre_show().
|
private |
Definition at line 67 of file mp_change_control.hpp.
Referenced by highlight_side_nick(), post_show(), and pre_show().
|
private |
Definition at line 61 of file mp_change_control.hpp.
Referenced by handle_nicks_list_item_clicked(), and post_show().
|
private |
Definition at line 60 of file mp_change_control.hpp.
Referenced by handle_sides_list_item_clicked(), highlight_side_nick(), and post_show().
|
private |
Definition at line 64 of file mp_change_control.hpp.
Referenced by post_show(), and pre_show().