The Battle for Wesnoth  1.17.0-dev
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
gui2::dialogs::mp_connect Class Reference

This shows the dialog to the MP server to connect to. More...

#include <mp_connect.hpp>

Inheritance diagram for gui2::dialogs::mp_connect:

Classes

class  selection
 

Public Member Functions

 mp_connect ()
 
- Public Member Functions inherited from gui2::dialogs::modal_dialog
 modal_dialog ()
 
virtual ~modal_dialog ()
 
bool show (const unsigned auto_close_time=0)
 Shows the window. More...
 
windowget_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 Types

using server_info = game_config::server_info
 
using server_list = std::vector< server_info >
 

Private Member Functions

virtual const std::string & window_id () const override
 The execute function. More...
 
virtual void pre_show (window &window) override
 Actions to be taken before showing the window. More...
 
void on_address_change ()
 
void on_server_add ()
 
void on_server_delete ()
 
void on_server_select ()
 
void insert_into_server_listbox (listbox &listbox, const server_info &srv, int pos=-1)
 
void select_first_match ()
 
selection current_selection ()
 
std::array< server_list *, 2 > server_lists ()
 

Private Attributes

field_texthost_name_
 The host name of the selected server. More...
 
server_list builtin_servers_
 
server_list user_servers_
 

Friends

modal_dialogunit_test_mp_server_list ()
 The unit test needs to be able to test the mp_connect dialog. More...
 

Additional Inherited Members

- Protected Member Functions inherited from gui2::dialogs::modal_dialog
field_boolregister_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_boolregister_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_integerregister_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_integerregister_integer (const std::string &id, const bool mandatory, int &linked_variable)
 Creates a new integer field. More...
 
field_textregister_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_textregister_text (const std::string &id, const bool mandatory, std::string &linked_variable, const bool capture_focus=false)
 Creates a new text field. More...
 
field_labelregister_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_labelregister_image (const std::string &id, const bool mandatory, const std::string &filename)
 Registers a new styled_widget as image. More...
 
- Protected Attributes inherited from gui2::dialogs::modal_dialog
std::unique_ptr< windowwindow_
 The window object build for this dialog. More...
 

Detailed Description

This shows the dialog to the MP server to connect to.

Key Type MandatoryDescription
start_table text_box yes The name of the server to connect to.
list button no Shows a dialog with a list of predefined servers to connect to.

Definition at line 42 of file mp_connect.hpp.

Member Typedef Documentation

◆ server_info

Definition at line 67 of file mp_connect.hpp.

◆ server_list

Definition at line 68 of file mp_connect.hpp.

Constructor & Destructor Documentation

◆ mp_connect()

gui2::dialogs::mp_connect::mp_connect ( )

Definition at line 65 of file mp_connect.cpp.

Member Function Documentation

◆ current_selection()

mp_connect::selection gui2::dialogs::mp_connect::current_selection ( )
private

◆ insert_into_server_listbox()

void gui2::dialogs::mp_connect::insert_into_server_listbox ( listbox listbox,
const server_info srv,
int  pos = -1 
)
private

◆ on_address_change()

void gui2::dialogs::mp_connect::on_address_change ( )
private

Definition at line 155 of file mp_connect.cpp.

References select_first_match().

Referenced by pre_show().

◆ on_server_add()

void gui2::dialogs::mp_connect::on_server_add ( )
private

◆ on_server_delete()

void gui2::dialogs::mp_connect::on_server_delete ( )
private

◆ on_server_select()

void gui2::dialogs::mp_connect::on_server_select ( )
private

◆ pre_show()

void gui2::dialogs::mp_connect::pre_show ( window window)
overrideprivatevirtual

Actions to be taken before showing the window.

At this point the registered fields are registered and initialized with their initial values.

Parameters
windowThe window to be shown.

Reimplemented from gui2::dialogs::modal_dialog.

Definition at line 82 of file mp_connect.cpp.

References gui2::event::connect_signal_mouse_left_click(), gui2::event::connect_signal_notify_modified(), insert_into_server_listbox(), on_address_change(), on_server_add(), on_server_delete(), on_server_select(), select_first_match(), and server_lists().

◆ select_first_match()

void gui2::dialogs::mp_connect::select_first_match ( )
private

◆ server_lists()

std::array< mp_connect::server_list *, 2 > gui2::dialogs::mp_connect::server_lists ( )
private

Definition at line 77 of file mp_connect.cpp.

References builtin_servers_, and user_servers_.

Referenced by pre_show(), and select_first_match().

◆ window_id()

virtual const std::string& gui2::dialogs::mp_connect::window_id ( ) const
overrideprivatevirtual

The execute function.

See modal_dialog for more information.

Implements gui2::dialogs::modal_dialog.

Friends And Related Function Documentation

◆ unit_test_mp_server_list

modal_dialog* unit_test_mp_server_list ( )
friend

The unit test needs to be able to test the mp_connect dialog.

Member Data Documentation

◆ builtin_servers_

server_list gui2::dialogs::mp_connect::builtin_servers_
private

Definition at line 122 of file mp_connect.hpp.

Referenced by on_server_add(), and server_lists().

◆ host_name_

field_text* gui2::dialogs::mp_connect::host_name_
private

The host name of the selected server.

Definition at line 120 of file mp_connect.hpp.

◆ user_servers_

server_list gui2::dialogs::mp_connect::user_servers_
private

Definition at line 123 of file mp_connect.hpp.

Referenced by on_server_add(), on_server_delete(), select_first_match(), and server_lists().


The documentation for this class was generated from the following files: