The Battle for Wesnoth  1.13.4+dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
mp::connect Class Reference

#include <multiplayer_connect.hpp>

Inheritance diagram for mp::connect:
Inheritance graph

Classes

struct  process_event_data
 
class  side
 

Public Types

typedef std::vector< sideside_list
 
- Public Types inherited from mp::ui
enum  result {
  CONTINUE, JOIN, OBSERVE, CREATE,
  LOAD_GAME, PREFERENCES, PLAY, QUIT
}
 
enum  user_relation { ME, FRIEND, NEUTRAL, IGNORED }
 
enum  user_state { LOBBY, GAME, SEL_GAME }
 

Public Member Functions

 connect (CVideo &v, twesnothd_connection *wesnothd_connection, const std::string &game_name, const config &game_config, chat &c, config &gamelist, ng::connect_engine &engine)
 
 ~connect ()
 
void start_game ()
 
void start_game_commandline (const commandline_options &cmdline_opts)
 
- Public Member Functions inherited from mp::ui
 ui (CVideo &v, twesnothd_connection *wesnothd_connection, const std::string &title, const config &cfg, chat &c, config &gamelist)
 
void process_network ()
 Asks the multiplayer_ui to pump some data from the network, and then to process it. More...
 
result get_result ()
 Returns the result of the current widget. More...
 
void set_location (const SDL_Rect &rect)
 Hides children, moves them (using layout_children), then shows them. More...
 
const std::vector< std::string > & user_list () const
 
void send_to_server (const config &cfg) override
 
bool receive_from_server (config &dst)
 
plugins_contextget_plugins_context ()
 
- Public Member Functions inherited from gui::widget
SDL_Rect const & location () const
 
void set_location (int x, int y)
 
void set_width (int w)
 
void set_height (int h)
 
void set_measurements (int w, int h)
 
int width () const
 
int height () const
 
bool focus (const SDL_Event *event)
 
void set_focus (bool focus)
 
virtual void hide (bool value=true)
 
bool hidden () const
 
virtual void enable (bool new_val=true)
 
bool enabled () const
 
void set_clip_rect (const SDL_Rect &rect)
 
void set_volatile (bool val=true)
 
void set_dirty (bool dirty=true)
 
bool dirty () const
 
const std::stringid () const
 
void set_id (const std::string &id)
 
void set_help_string (const std::string &str)
 
void set_tooltip_string (const std::string &str)
 
virtual void process_help_string (int mousex, int mousey)
 
virtual void process_tooltip_string (int mousex, int mousey)
 
- Public Member Functions inherited from events::sdl_handler
virtual bool requires_event_focus (const SDL_Event *=nullptr) const
 
virtual void join ()
 
virtual void join (context &c)
 
virtual void join_same (sdl_handler *parent)
 
virtual void leave ()
 
virtual void join_global ()
 
virtual void leave_global ()
 

Protected Member Functions

virtual void process_event ()
 
virtual void layout_children (const SDL_Rect &rect)
 Lays the children out. More...
 
virtual void hide_children (bool hide=true)
 Hides or shows all gui::widget children of this widget. More...
 
virtual void process_network_data (const config &data)
 Processes any pending network data. More...
 
- Protected Member Functions inherited from mp::ui
int xscale (int x) const
 
int yscale (int y) const
 
SDL_Rect client_area () const
 
CVideovideo ()
 
const configgame_config () const
 Returns the main game config, as defined by loading the preprocessed WML files. More...
 
virtual void draw_contents ()
 
virtual void handle_event (const SDL_Event &event)
 
virtual void handle_key_event (const SDL_KeyboardEvent &event)
 
void add_chat_message (const time_t &time, const std::string &speaker, int side, const std::string &message, events::chat_handler::MESSAGE_TYPE type=events::chat_handler::MESSAGE_PRIVATE)
 Override chat_handler. More...
 
void send_chat_message (const std::string &message, bool allies_only=false)
 
void process_message (const config &msg, const bool whisper=false)
 Process chat messages. More...
 
result set_result (result res)
 Sets the result of this dialog, to be checked by get_result(). More...
 
void set_selected_game (const std::string &game_name)
 Sets the name of the selected game which is used to highlight the names of the players which have joined this game. More...
 
virtual void gamelist_updated (bool silent=true)
 Called each time the gamelist_ variable is updated. More...
 
void set_user_list (const std::vector< std::string > &, bool silent)
 Sets the user list. More...
 
void set_user_menu_items (const std::vector< std::string > &list)
 
configgamelist ()
 Returns the current gamelist. More...
 
void append_to_title (const std::string &name)
 
const gui::labeltitle () const
 
std::string get_selected_user_game ()
 
bool selected_user_changed () const
 
void set_selected_user_changed (const bool &changed)
 
- Protected Member Functions inherited from gui::widget
 widget (widget const &o)
 
 widget (CVideo &video, const bool auto_join=true)
 
virtual ~widget ()
 
void bg_register (SDL_Rect const &rect)
 
void bg_restore () const
 
void bg_restore (SDL_Rect const &rect) const
 
void bg_update ()
 
void bg_cancel ()
 
CVideovideo () const
 
virtual void draw ()
 
virtual void update_location (SDL_Rect const &rect)
 
const SDL_Rect * clip_rect () const
 
virtual sdl_handler_vector member_handlers ()
 
virtual void handle_window_event (SDL_Event const &event)
 
bool mouse_locked () const
 
void aquire_mouse_lock ()
 
void free_mouse_lock ()
 
- Protected Member Functions inherited from events::sdl_handler
 sdl_handler (const bool auto_join=true)
 
virtual ~sdl_handler ()
 
virtual std::vector
< sdl_handler * > 
handler_members ()
 

Private Member Functions

 connect (const connect &)
 
void operator= (const connect &)
 
void update_playerlist_state (bool silent=true)
 
const mp_game_settingsparams ()
 
bool force_lock_settings () const
 
void process_event_impl (const process_event_data &)
 
bool plugin_event_helper (const process_event_data &)
 

Private Attributes

std::vector< ai::description * > ai_algorithms_
 
side_list sides_
 
ng::connect_engineengine_
 
gui::label waiting_label_
 
gui::label type_title_label_
 
gui::label faction_name_title_label_
 
gui::label leader_gender_title_label_
 
gui::label team_color_title_label_
 
gui::label gold_title_label_
 
gui::label income_title_label_
 
gui::scrollpane scroll_pane_
 
gui::button launch_
 
gui::button cancel_
 
gui::drop_group_manager_ptr combo_control_group_
 

Additional Inherited Members

- Protected Attributes inherited from mp::ui
CVideovideo_
 
twesnothd_connectionwesnothd_connection_
 
boost::scoped_ptr
< plugins_context
plugins_context_
 
- Protected Attributes inherited from gui::widget
bool focus_
 
- Static Protected Attributes inherited from mp::ui
static const int xscale_base = 1024
 
static const int yscale_base = 768
 

Detailed Description

Definition at line 38 of file multiplayer_connect.hpp.

Member Typedef Documentation

typedef std::vector<side> mp::connect::side_list

Definition at line 93 of file multiplayer_connect.hpp.

Constructor & Destructor Documentation

mp::connect::connect ( CVideo v,
twesnothd_connection wesnothd_connection,
const std::string game_name,
const config game_config,
chat c,
config gamelist,
ng::connect_engine engine 
)
mp::connect::~connect ( )

Definition at line 442 of file multiplayer_connect.cpp.

mp::connect::connect ( const connect )
private

Member Function Documentation

bool mp::connect::force_lock_settings ( ) const
inlineprivate

Definition at line 123 of file multiplayer_connect.hpp.

References engine_, and ng::connect_engine::force_lock_settings().

void mp::connect::hide_children ( bool  hide = true)
protectedvirtual

Hides or shows all gui::widget children of this widget.

Should be overridden by subclasses which add their own children.

Reimplemented from mp::ui.

Definition at line 497 of file multiplayer_connect.cpp.

References cancel_, DBG_MP, faction_name_title_label_, gold_title_label_, gui::widget::hide(), gui::scrollpane::hide(), mp::ui::hide_children(), income_title_label_, launch_, leader_gender_title_label_, params(), scroll_pane_, team_color_title_label_, and waiting_label_.

void mp::connect::layout_children ( const SDL_Rect &  rect)
protectedvirtual
void mp::connect::operator= ( const connect )
private
const mp_game_settings& mp::connect::params ( )
inlineprivate

Definition at line 122 of file multiplayer_connect.hpp.

References engine_, and ng::connect_engine::params().

Referenced by connect(), hide_children(), and mp::connect::side::side().

bool mp::connect::plugin_event_helper ( const process_event_data data)
private

Definition at line 446 of file multiplayer_connect.cpp.

References mp::ui::CONTINUE, mp::ui::get_result(), and process_event_impl().

Referenced by connect().

void mp::connect::process_event ( )
protectedvirtual
void mp::connect::process_event_impl ( const process_event_data data)
private
void mp::connect::process_network_data ( const config data)
protectedvirtual

Processes any pending network data.

Called by the public process_network() method. Overridden by subclasses who add more behavior for network.

Reimplemented from mp::ui.

Definition at line 563 of file multiplayer_connect.cpp.

References ng::connect_engine::can_start_game(), DBG_MP, engine_, ng::connect_engine::process_network_data(), mp::ui::process_network_data(), mp::ui::QUIT, mp_ui_alerts::ready_for_start(), mp::ui::set_result(), sides_, and update_playerlist_state().

void mp::connect::start_game ( )
inline

Definition at line 102 of file multiplayer_connect.hpp.

References engine_, and ng::connect_engine::start_game().

Referenced by mp::goto_mp_connect().

void mp::connect::start_game_commandline ( const commandline_options cmdline_opts)
inline
void mp::connect::update_playerlist_state ( bool  silent = true)
private

Member Data Documentation

std::vector<ai::description*> mp::connect::ai_algorithms_
private

Definition at line 125 of file multiplayer_connect.hpp.

Referenced by connect().

gui::button mp::connect::cancel_
private

Definition at line 139 of file multiplayer_connect.hpp.

Referenced by hide_children(), layout_children(), and process_event().

gui::drop_group_manager_ptr mp::connect::combo_control_group_
private

Definition at line 140 of file multiplayer_connect.hpp.

ng::connect_engine& mp::connect::engine_
private
gui::label mp::connect::faction_name_title_label_
private

Definition at line 132 of file multiplayer_connect.hpp.

Referenced by hide_children(), and layout_children().

gui::label mp::connect::gold_title_label_
private

Definition at line 135 of file multiplayer_connect.hpp.

Referenced by connect(), hide_children(), and layout_children().

gui::label mp::connect::income_title_label_
private

Definition at line 136 of file multiplayer_connect.hpp.

Referenced by connect(), hide_children(), and layout_children().

gui::button mp::connect::launch_
private
gui::label mp::connect::leader_gender_title_label_
private

Definition at line 133 of file multiplayer_connect.hpp.

Referenced by hide_children(), and layout_children().

gui::scrollpane mp::connect::scroll_pane_
private

Definition at line 137 of file multiplayer_connect.hpp.

Referenced by connect(), hide_children(), and layout_children().

side_list mp::connect::sides_
private

Definition at line 127 of file multiplayer_connect.hpp.

Referenced by connect(), process_event_impl(), and process_network_data().

gui::label mp::connect::team_color_title_label_
private

Definition at line 134 of file multiplayer_connect.hpp.

Referenced by hide_children(), and layout_children().

gui::label mp::connect::type_title_label_
private

Definition at line 131 of file multiplayer_connect.hpp.

Referenced by layout_children().

gui::label mp::connect::waiting_label_
private

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