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

#include <statistics_dialog.hpp>

Inheritance diagram for gui2::dialogs::statistics_dialog:

Public Member Functions

 statistics_dialog (const team &current_team)
 
- 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...
 
const statistics::statscurrent_stats ()
 Picks out the stats structure that was selected for displaying. More...
 
void add_stat_row (const std::string &type, const statistics::stats::str_int_map &value, const bool has_cost=true)
 
void add_damage_row (const std::string &type, const long long &damage, const long long &expected, const long long &turn_damage, const long long &turn_expected, const bool show_this_turn)
 Add a row to the Damage table. More...
 
void add_hits_row (const std::string &type, const bool more_is_better, const statistics::stats::hitrate_map &by_cth, const statistics::stats::hitrate_map &turn_by_cth, const bool show_this_turn)
 Add a row to the Hits table. More...
 
void update_lists ()
 
void on_primary_list_select ()
 
void on_scenario_select ()
 

Private Attributes

const teamcurrent_team_
 
const statistics::stats campaign_
 
const statistics::levels scenarios_
 
std::size_t selection_index_
 
std::vector< const statistics::stats::str_int_map * > main_stat_table_
 

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

Definition at line 27 of file statistics_dialog.hpp.

Constructor & Destructor Documentation

◆ statistics_dialog()

gui2::dialogs::statistics_dialog::statistics_dialog ( const team current_team)

Definition at line 56 of file statistics_dialog.cpp.

Member Function Documentation

◆ add_damage_row()

void gui2::dialogs::statistics_dialog::add_damage_row ( const std::string &  type,
const long long &  damage,
const long long &  expected,
const long long &  turn_damage,
const long long &  turn_expected,
const bool  show_this_turn 
)
private

◆ add_hits_row()

void gui2::dialogs::statistics_dialog::add_hits_row ( const std::string &  type,
const bool  more_is_better,
const statistics::stats::hitrate_map by_cth,
const statistics::stats::hitrate_map turn_by_cth,
const bool  show_this_turn 
)
private

Add a row to the Hits table.

Parameters
type
more_is_betterTrue for "Inflicted" and false for "Taken". Affects coloring.
by_cth
turn_by_cth
show_this_turn

Definition at line 306 of file statistics_dialog.cpp.

References _(), gui2::listbox::add_row(), gui2::dialogs::modal_dialog::get_window(), gui2::dialogs::hitrate_table_element::hitrate_str, gui2::dialogs::hitrate_table_element::pvalue_str, gui2::styled_widget::set_label(), gui2::dialogs::tally(), and gui2::dialogs::hitrate_table_element::tooltip.

Referenced by update_lists().

◆ add_stat_row()

void gui2::dialogs::statistics_dialog::add_stat_row ( const std::string &  type,
const statistics::stats::str_int_map value,
const bool  has_cost = true 
)
private

◆ current_stats()

const statistics::stats & gui2::dialogs::statistics_dialog::current_stats ( )
inlineprivate

Picks out the stats structure that was selected for displaying.

Definition at line 104 of file statistics_dialog.cpp.

References campaign_, scenarios_, and selection_index_.

Referenced by update_lists().

◆ on_primary_list_select()

void gui2::dialogs::statistics_dialog::on_primary_list_select ( )
private

◆ on_scenario_select()

void gui2::dialogs::statistics_dialog::on_scenario_select ( )
private

◆ pre_show()

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

References _(), gui2::event::connect_signal_notify_modified(), current_team_, gui2::styled_widget::get_label(), on_primary_list_select(), on_scenario_select(), scenarios_, selection_index_, gui2::styled_widget::set_label(), gui2::menu_button::set_values(), team::side_name(), and update_lists().

◆ update_lists()

void gui2::dialogs::statistics_dialog::update_lists ( )
private

◆ window_id()

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

The id of the window to build.

Implements gui2::dialogs::modal_dialog.

Member Data Documentation

◆ campaign_

const statistics::stats gui2::dialogs::statistics_dialog::campaign_
private

Definition at line 77 of file statistics_dialog.hpp.

Referenced by current_stats().

◆ current_team_

const team& gui2::dialogs::statistics_dialog::current_team_
private

Definition at line 75 of file statistics_dialog.hpp.

Referenced by on_primary_list_select(), and pre_show().

◆ main_stat_table_

std::vector<const statistics::stats::str_int_map*> gui2::dialogs::statistics_dialog::main_stat_table_
private

Definition at line 82 of file statistics_dialog.hpp.

Referenced by add_stat_row(), on_primary_list_select(), and update_lists().

◆ scenarios_

const statistics::levels gui2::dialogs::statistics_dialog::scenarios_
private

Definition at line 78 of file statistics_dialog.hpp.

Referenced by current_stats(), pre_show(), and update_lists().

◆ selection_index_

std::size_t gui2::dialogs::statistics_dialog::selection_index_
private

Definition at line 80 of file statistics_dialog.hpp.

Referenced by current_stats(), on_scenario_select(), pre_show(), and update_lists().


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