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

This shows the dialog for attacking units. More...

#include <unit_attack.hpp>

Inheritance diagram for gui2::dialogs::unit_attack:

Public Member Functions

 unit_attack (const unit_map::iterator &attacker_itor, const unit_map::iterator &defender_itor, std::vector< battle_context > &&weapons, const int best_weapon)
 
int get_selected_weapon () 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

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 damage_calc_callback ()
 

Private Attributes

int selected_weapon_
 The index of the selected weapon. More...
 
unit_map::iterator attacker_itor_
 Iterator pointing to the attacker. More...
 
unit_map::iterator defender_itor_
 Iterator pointing to the defender. More...
 
std::vector< battle_contextweapons_
 List of all battle contexts used for getting the weapons. More...
 
int best_weapon_
 The best weapon, aka the one high-lighted. 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 for attacking units.

Key Type MandatoryDescription
attacker_portrait image no Shows the portrait of the attacking unit.
attacker_icon image no Shows the icon of the attacking unit.
attacker_name control no Shows the name of the attacking unit.
defender_portrait image no Shows the portrait of the defending unit.
defender_icon image no Shows the icon of the defending unit.
defender_name control no Shows the name of the defending unit.
weapon_list listbox yes The list with weapons to choose from.
attacker_weapon control no The weapon for the attacker to use.
defender_weapon control no The weapon for the defender to use.

Definition at line 41 of file unit_attack.hpp.

Constructor & Destructor Documentation

◆ unit_attack()

gui2::dialogs::unit_attack::unit_attack ( const unit_map::iterator attacker_itor,
const unit_map::iterator defender_itor,
std::vector< battle_context > &&  weapons,
const int  best_weapon 
)

Definition at line 45 of file unit_attack.cpp.

Member Function Documentation

◆ damage_calc_callback()

void gui2::dialogs::unit_attack::damage_calc_callback ( )
private

◆ get_selected_weapon()

int gui2::dialogs::unit_attack::get_selected_weapon ( ) const
inline

◆ post_show()

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

References gui2::dialogs::modal_dialog::get_retval(), gui2::OK, and selected_weapon_.

Referenced by get_selected_weapon().

◆ pre_show()

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

◆ window_id()

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

The id of the window to build.

Implements gui2::dialogs::modal_dialog.

Referenced by get_selected_weapon().

Member Data Documentation

◆ attacker_itor_

unit_map::iterator gui2::dialogs::unit_attack::attacker_itor_
private

Iterator pointing to the attacker.

Definition at line 69 of file unit_attack.hpp.

Referenced by damage_calc_callback(), and pre_show().

◆ best_weapon_

int gui2::dialogs::unit_attack::best_weapon_
private

The best weapon, aka the one high-lighted.

Definition at line 78 of file unit_attack.hpp.

Referenced by pre_show().

◆ defender_itor_

unit_map::iterator gui2::dialogs::unit_attack::defender_itor_
private

Iterator pointing to the defender.

Definition at line 72 of file unit_attack.hpp.

Referenced by damage_calc_callback(), and pre_show().

◆ selected_weapon_

int gui2::dialogs::unit_attack::selected_weapon_
private

The index of the selected weapon.

Definition at line 66 of file unit_attack.hpp.

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

◆ weapons_

std::vector<battle_context> gui2::dialogs::unit_attack::weapons_
private

List of all battle contexts used for getting the weapons.

Definition at line 75 of file unit_attack.hpp.

Referenced by damage_calc_callback(), and pre_show().


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