The Battle for Wesnoth  1.15.12+dev
Public Member Functions | Private Member Functions | Private Attributes | List of all members
gui2::dialogs::unit_create Class Reference

This shows the debug-mode dialog to create new units on the map. More...

#include <unit_create.hpp>

Inheritance diagram for gui2::dialogs::unit_create:

Public Member Functions

 unit_create ()
 
const std::string & choice () const
 Unit type choice from the user. More...
 
bool no_choice () const
 Whether the user actually chose a unit type or not. More...
 
unit_race::GENDER gender ()
 Gender choice from the user. More...
 
std::string variation () const
 Variation choice from the user. More...
 
- 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

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 list_item_clicked ()
 Callbacks. More...
 
void filter_text_changed (const std::string &text)
 
void gender_toggle_callback ()
 
void variation_menu_callback ()
 
void update_displayed_type () const
 

Private Attributes

std::vector< const unit_type * > units_
 
unit_race::GENDER gender_
 
std::string choice_
 
std::string variation_
 
std::vector< std::string > last_words_
 
group< unit_race::GENDERgender_toggle
 

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 debug-mode dialog to create new units on the map.

Key Type MandatoryDescription
male_toggle toggle_button yes Option button to select the "male" gender for created units.
female_toggle toggle_button yes Option button to select the "female" gender for created units.
unit_type_list listbox yes Listbox displaying existing unit types sorted by name and race.
unit_type control yes Widget which shows the unit type name label.
race control yes Widget which shows the unit race name label.

Definition at line 48 of file unit_create.hpp.

Constructor & Destructor Documentation

◆ unit_create()

gui2::dialogs::unit_create::unit_create ( )

Definition at line 49 of file unit_create.cpp.

Member Function Documentation

◆ choice()

const std::string& gui2::dialogs::unit_create::choice ( ) const
inline

Unit type choice from the user.

Definition at line 54 of file unit_create.hpp.

References choice_.

Referenced by events::menu_handler::current_unit().

◆ filter_text_changed()

void gui2::dialogs::unit_create::filter_text_changed ( const std::string &  text)
private

◆ gender()

unit_race::GENDER gui2::dialogs::unit_create::gender ( )
inline

Gender choice from the user.

Definition at line 66 of file unit_create.hpp.

References gender_.

Referenced by events::menu_handler::current_unit(), and list_item_clicked().

◆ gender_toggle_callback()

void gui2::dialogs::unit_create::gender_toggle_callback ( )
private

◆ list_item_clicked()

void gui2::dialogs::unit_create::list_item_clicked ( )
private

◆ no_choice()

bool gui2::dialogs::unit_create::no_choice ( ) const
inline

Whether the user actually chose a unit type or not.

Definition at line 60 of file unit_create.hpp.

References choice_.

Referenced by events::menu_handler::current_unit().

◆ post_show()

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

References choice_, ERR_GUI_G, gender_, gui2::dialogs::modal_dialog::get_retval(), gui2::listbox::get_selected_row(), last_chosen_type_id, last_gender, last_variation, gui2::OK, units_, and variation_.

◆ pre_show()

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

◆ update_displayed_type()

void gui2::dialogs::unit_create::update_displayed_type ( ) const
private

◆ variation()

std::string gui2::dialogs::unit_create::variation ( ) const
inline

Variation choice from the user.

Definition at line 72 of file unit_create.hpp.

References variation_.

Referenced by events::menu_handler::current_unit().

◆ variation_menu_callback()

void gui2::dialogs::unit_create::variation_menu_callback ( )
private

◆ window_id()

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

The id of the window to build.

Implements gui2::dialogs::modal_dialog.

Member Data Documentation

◆ choice_

std::string gui2::dialogs::unit_create::choice_
private

Definition at line 82 of file unit_create.hpp.

Referenced by choice(), no_choice(), post_show(), and pre_show().

◆ gender_

unit_race::GENDER gui2::dialogs::unit_create::gender_
private

Definition at line 80 of file unit_create.hpp.

Referenced by gender(), gender_toggle_callback(), post_show(), and update_displayed_type().

◆ gender_toggle

group<unit_race::GENDER> gui2::dialogs::unit_create::gender_toggle
private

Definition at line 102 of file unit_create.hpp.

Referenced by gender_toggle_callback(), list_item_clicked(), and pre_show().

◆ last_words_

std::vector<std::string> gui2::dialogs::unit_create::last_words_
private

Definition at line 86 of file unit_create.hpp.

Referenced by filter_text_changed().

◆ units_

std::vector<const unit_type*> gui2::dialogs::unit_create::units_
private

◆ variation_

std::string gui2::dialogs::unit_create::variation_
private

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