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

The campaign mode difficulty menu. More...

#include <campaign_difficulty.hpp>

Inheritance diagram for gui2::dialogs::campaign_difficulty:

Public Member Functions

 campaign_difficulty (const config &campaign)
 
std::string selected_difficulty () const
 Returns the selected difficulty define after displaying. 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...
 

Private Attributes

config difficulties_
 
std::string campaign_id_
 
std::string selected_difficulty_
 

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 campaign mode difficulty menu.

Key Type MandatoryDescription
title label yes Dialog title label.
message scroll_label no Text label displaying a description or instructions.
listbox listbox yes Listbox displaying user choices, defined by WML for each campaign.
icon control yes Widget which shows a listbox item icon, first item markup column.
label control yes Widget which shows a listbox item label, second item markup column.
description control yes Widget which shows a listbox item description, third item markup column.

Definition at line 44 of file campaign_difficulty.hpp.

Constructor & Destructor Documentation

◆ campaign_difficulty()

gui2::dialogs::campaign_difficulty::campaign_difficulty ( const config campaign)
Parameters
campaignThe campaign the difficulty is being chosen for

Definition at line 56 of file campaign_difficulty.cpp.

References gui2::dialogs::modal_dialog::set_restore().

Member Function Documentation

◆ post_show()

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

References config::child(), difficulties_, gui2::dialogs::modal_dialog::get_retval(), gui2::listbox::get_selected_row(), gui2::OK, and selected_difficulty_.

◆ pre_show()

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

References gui2::listbox::add_row(), campaign_id_, config::child_range(), d, difficulties_, gui2::grid::find(), font::GRAY_COLOR, gui2::widget::hidden, preferences::is_campaign_completed(), gui2::listbox::select_last_row(), gui2::widget::set_visible(), and font::span_color().

◆ selected_difficulty()

std::string gui2::dialogs::campaign_difficulty::selected_difficulty ( ) const
inline

Returns the selected difficulty define after displaying.

Returns
'CANCEL' if the dialog was canceled.

Definition at line 56 of file campaign_difficulty.hpp.

References selected_difficulty_.

Referenced by ng::create_engine::select_campaign_difficulty(), and savegame::loadgame::show_difficulty_dialog().

◆ window_id()

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

The id of the window to build.

Implements gui2::dialogs::modal_dialog.

Member Data Documentation

◆ campaign_id_

std::string gui2::dialogs::campaign_difficulty::campaign_id_
private

Definition at line 63 of file campaign_difficulty.hpp.

Referenced by pre_show().

◆ difficulties_

config gui2::dialogs::campaign_difficulty::difficulties_
private

Definition at line 62 of file campaign_difficulty.hpp.

Referenced by post_show(), and pre_show().

◆ selected_difficulty_

std::string gui2::dialogs::campaign_difficulty::selected_difficulty_
private

Definition at line 64 of file campaign_difficulty.hpp.

Referenced by post_show(), and selected_difficulty().


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