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

The dialog for selecting which random generator to use in the editor. More...

#include <generate_map.hpp>

Inheritance diagram for gui2::dialogs::editor_generate_map:

Public Member Functions

 editor_generate_map (std::vector< std::unique_ptr< map_generator >> &mg)
 
std::vector< std::unique_ptr< map_generator > > & get_map_generators ()
 
map_generatorget_selected_map_generator ()
 
void select_map_generator (map_generator *mg)
 
std::optional< uint32_t > get_seed ()
 
- 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...
 
void do_generator_selected ()
 Callback for generator list selection changes. More...
 
void do_settings ()
 Callback for the generator settings button. More...
 

Private Attributes

std::vector< std::unique_ptr< map_generator > > & map_generators_
 Available map generators. More...
 
map_generatorlast_map_generator_
 Last used map generator, must be in map_generators_. More...
 
int current_map_generator_
 Current map generator index. More...
 
std::string random_seed_
 random seed integer input 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

The dialog for selecting which random generator to use in the editor.

Key Type MandatoryDescription
generators_list listbox yes Listbox displaying known map generators.
settings button yes When clicked this button opens the generator settings dialog.
seed_textbox text_box yes Allows entering a seed for the map generator.

Definition at line 42 of file generate_map.hpp.

Constructor & Destructor Documentation

◆ editor_generate_map()

gui2::dialogs::editor_generate_map::editor_generate_map ( std::vector< std::unique_ptr< map_generator >> &  mg)
explicit

Definition at line 40 of file generate_map.cpp.

Member Function Documentation

◆ do_generator_selected()

void gui2::dialogs::editor_generate_map::do_generator_selected ( )
private

Callback for generator list selection changes.

Definition at line 48 of file generate_map.cpp.

References current_map_generator_, gui2::listbox::get_selected_row(), gui2::dialogs::modal_dialog::get_window(), map_generators_, and gui2::button::set_active().

Referenced by get_map_generators(), and pre_show().

◆ do_settings()

void gui2::dialogs::editor_generate_map::do_settings ( )
private

Callback for the generator settings button.

Definition at line 63 of file generate_map.cpp.

References get_selected_map_generator(), and map_generator::user_config().

Referenced by get_map_generators(), and pre_show().

◆ get_map_generators()

std::vector<std::unique_ptr<map_generator> >& gui2::dialogs::editor_generate_map::get_map_generators ( )
inline

◆ get_seed()

std::optional< uint32_t > gui2::dialogs::editor_generate_map::get_seed ( )

◆ get_selected_map_generator()

map_generator * gui2::dialogs::editor_generate_map::get_selected_map_generator ( )

◆ pre_show()

void gui2::dialogs::editor_generate_map::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 80 of file generate_map.cpp.

References gui2::listbox::add_row(), gui2::event::connect_signal_mouse_left_click(), gui2::event::connect_signal_notify_modified(), do_generator_selected(), do_settings(), last_map_generator_, map_generators_, random_seed_, gui2::dialogs::modal_dialog::register_text(), and gui2::listbox::select_last_row().

Referenced by get_map_generators().

◆ select_map_generator()

void gui2::dialogs::editor_generate_map::select_map_generator ( map_generator mg)

◆ window_id()

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

The id of the window to build.

Implements gui2::dialogs::modal_dialog.

Referenced by get_map_generators().

Member Data Documentation

◆ current_map_generator_

int gui2::dialogs::editor_generate_map::current_map_generator_
private

Current map generator index.

Definition at line 76 of file generate_map.hpp.

Referenced by do_generator_selected(), and get_selected_map_generator().

◆ last_map_generator_

map_generator* gui2::dialogs::editor_generate_map::last_map_generator_
private

Last used map generator, must be in map_generators_.

Definition at line 73 of file generate_map.hpp.

Referenced by pre_show(), and select_map_generator().

◆ map_generators_

std::vector<std::unique_ptr<map_generator> >& gui2::dialogs::editor_generate_map::map_generators_
private

Available map generators.

Definition at line 70 of file generate_map.hpp.

Referenced by do_generator_selected(), get_map_generators(), get_selected_map_generator(), and pre_show().

◆ random_seed_

std::string gui2::dialogs::editor_generate_map::random_seed_
private

random seed integer input

Definition at line 79 of file generate_map.hpp.

Referenced by get_seed(), and pre_show().


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