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

This shows the dialog which allows the user to choose which core to play. More...

#include <core_selection.hpp>

Inheritance diagram for gui2::dialogs::core_selection:

Public Member Functions

 core_selection (const std::vector< config > &cores, int choice)
 
int get_choice () const
 
- 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 Member Functions

void core_selected () const
 Called when another core is selected. More...
 
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...
 

Private Attributes

const std::vector< config > & cores_
 Contains the config objects for all cores. More...
 
int choice_
 The chosen core. 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 which allows the user to choose which core to play.

Key Type MandatoryDescription
core_list listbox yes A listbox that contains all available cores.
icon image no The icon for the core.
name control no The name of the core.
core_details multi_page yes A multi page widget that shows more details for the selected core.
image image no The image for the core.
description control no The description of the core.

Definition at line 38 of file core_selection.hpp.

Constructor & Destructor Documentation

◆ core_selection()

gui2::dialogs::core_selection::core_selection ( const std::vector< config > &  cores,
int  choice 
)
inlineexplicit

Definition at line 41 of file core_selection.hpp.

Member Function Documentation

◆ core_selected()

void gui2::dialogs::core_selection::core_selected ( ) const
private

Called when another core is selected.

Definition at line 35 of file core_selection.cpp.

References gui2::multi_page::select_page().

Referenced by get_choice(), and pre_show().

◆ get_choice()

int gui2::dialogs::core_selection::get_choice ( ) const
inline

◆ post_show()

void gui2::dialogs::core_selection::post_show ( window window)
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).

Parameters
windowThe window which has been shown.

Reimplemented from gui2::dialogs::modal_dialog.

Definition at line 90 of file core_selection.cpp.

References choice_.

Referenced by get_choice().

◆ pre_show()

void gui2::dialogs::core_selection::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 47 of file core_selection.cpp.

References gui2::multi_page::add_page(), gui2::listbox::add_row(), choice_, gui2::event::connect_signal_notify_modified(), core_selected(), cores_, and gui2::listbox::select_row().

Referenced by get_choice().

◆ window_id()

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

The id of the window to build.

Implements gui2::dialogs::modal_dialog.

Referenced by get_choice().

Member Data Documentation

◆ choice_

int gui2::dialogs::core_selection::choice_
private

The chosen core.

Definition at line 67 of file core_selection.hpp.

Referenced by get_choice(), post_show(), and pre_show().

◆ cores_

const std::vector<config>& gui2::dialogs::core_selection::cores_
private

Contains the config objects for all cores.

Definition at line 64 of file core_selection.hpp.

Referenced by pre_show().


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