The Battle for Wesnoth  1.19.5+dev
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
play_controller::hotkey_handler Class Reference

#include <hotkey_handler.hpp>

Inheritance diagram for play_controller::hotkey_handler:

Public Member Functions

 hotkey_handler (play_controller &, saved_game &)
 
 ~hotkey_handler ()
 
virtual void objectives () override
 
virtual void show_statistics () override
 
virtual void unit_list () override
 
virtual void left_mouse_click () override
 
virtual void move_action () override
 
virtual void select_and_action () override
 
virtual void touch_hex () override
 
virtual void select_hex () override
 
virtual void deselect_hex () override
 
virtual void right_mouse_click () override
 
virtual void status_table () override
 
virtual void save_game () override
 
virtual void save_replay () override
 
virtual void save_map () override
 
virtual void load_game () override
 
virtual void preferences () override
 
virtual void speak () override
 
virtual void show_chat_log () override
 
virtual void show_help () override
 
virtual void cycle_units () override
 
virtual void cycle_back_units () override
 
virtual void undo () override
 
virtual void redo () override
 
virtual void show_enemy_moves (bool ignore_units) override
 
virtual void goto_leader () override
 
virtual void unit_description () override
 
virtual void terrain_description () override
 
virtual void toggle_ellipses () override
 
virtual void toggle_grid () override
 
virtual void search () override
 
virtual void toggle_accelerated_speed () override
 
virtual void scroll_up (bool on) override
 
virtual void scroll_down (bool on) override
 
virtual void scroll_left (bool on) override
 
virtual void scroll_right (bool on) override
 
virtual void replay_skip_animation () override
 
virtual std::string get_action_image (const hotkey::ui_command &) const override
 
virtual void load_autosave (const std::string &filename, bool start_replay=false)
 
virtual hotkey::ACTION_STATE get_action_state (const hotkey::ui_command &) const override
 
virtual bool can_execute_command (const hotkey::ui_command &command) const override
 Check if a command can be executed. More...
 
virtual bool do_execute_command (const hotkey::ui_command &command, bool press=true, bool release=false) override
 
void show_menu (const std::vector< config > &items_arg, int xloc, int yloc, bool context_menu, display &disp) override
 
bool in_context_menu (const hotkey::ui_command &cmd) const
 Determines whether the command should be in the context menu or not. More...
 
- Public Member Functions inherited from hotkey::command_executor_default
void set_button_state ()
 
void recalculate_minimap ()
 
void lua_console ()
 
void zoom_in ()
 
void zoom_out ()
 
void zoom_default ()
 
void map_screenshot ()
 
void quit_to_main_menu ()
 
- Public Member Functions inherited from hotkey::command_executor
virtual void end_turn ()
 
virtual void unit_hold_position ()
 
virtual void end_unit_turn ()
 
virtual void rename_unit ()
 
virtual void recall ()
 
virtual void recruit ()
 
virtual void repeat_recruit ()
 
virtual void whisper ()
 
virtual void shout ()
 
virtual void create_unit ()
 
virtual void change_side ()
 
virtual void kill_unit ()
 
virtual void stop_network ()
 
virtual void start_network ()
 
virtual void label_terrain (bool)
 
virtual void clear_labels ()
 
virtual void label_settings ()
 
virtual void toggle_shroud_updates ()
 
virtual void update_shroud_now ()
 
virtual void continue_move ()
 
virtual void user_command ()
 
virtual void custom_command ()
 
virtual void ai_formula ()
 
virtual void clear_messages ()
 
virtual void change_language ()
 
virtual void play_replay ()
 
virtual void reset_replay ()
 
virtual void stop_replay ()
 
virtual void replay_next_turn ()
 
virtual void replay_next_side ()
 
virtual void replay_next_move ()
 
virtual void replay_show_everything ()
 
virtual void replay_show_each ()
 
virtual void replay_show_team1 ()
 
virtual void replay_exit ()
 
virtual void whiteboard_toggle ()
 
virtual void whiteboard_execute_action ()
 
virtual void whiteboard_execute_all_actions ()
 
virtual void whiteboard_delete_action ()
 
virtual void whiteboard_bump_up_action ()
 
virtual void whiteboard_bump_down_action ()
 
virtual void whiteboard_suppose_dead ()
 
virtual void select_teleport ()
 
virtual void surrender_quit_game ()
 
std::string get_menu_image (display &disp, const std::string &command, int index=-1) const
 
void get_menu_images (display &, std::vector< config > &items)
 
void surrender_game ()
 
void execute_action (const std::vector< std::string > &items_arg, int xloc, int yloc, bool context_menu, display &gui)
 
void queue_command (const SDL_Event &event, int index=-1)
 
bool run_queued_commands ()
 
void execute_quit_command ()
 
void handle_keyup ()
 

Static Public Attributes

static const std::string wml_menu_hotkey_prefix = "wml_menu:"
 

Protected Member Functions

displayget_display () override
 
game_displaygui () const
 
game_stategamestate ()
 
const game_stategamestate () const
 
bool browse () const
 
bool linger () const
 
- Protected Member Functions inherited from hotkey::command_executor
virtual ~command_executor ()
 

Protected Attributes

play_controllerplay_controller_
 References to parent object / constituents. More...
 
events::menu_handlermenu_handler_
 
events::mouse_handlermouse_handler_
 
saved_gamesaved_game_
 

Private Types

typedef std::shared_ptr< const game_events::wml_menu_itemconst_item_ptr
 A smart pointer used when retrieving menu items. More...
 

Private Member Functions

void expand_autosaves (std::vector< config > &items, int i)
 
void expand_quickreplay (std::vector< config > &items, int i)
 
void expand_wml_commands (std::vector< config > &items, int i)
 Replaces "wml" in items with all active WML menu items for the current field. More...
 

Private Attributes

int last_context_menu_x_
 
int last_context_menu_y_
 

Detailed Description

Definition at line 35 of file hotkey_handler.hpp.

Member Typedef Documentation

◆ const_item_ptr

A smart pointer used when retrieving menu items.

Definition at line 56 of file hotkey_handler.hpp.

Constructor & Destructor Documentation

◆ hotkey_handler()

play_controller::hotkey_handler::hotkey_handler ( play_controller pc,
saved_game sg 
)

Definition at line 49 of file hotkey_handler.cpp.

◆ ~hotkey_handler()

play_controller::hotkey_handler::~hotkey_handler ( )

Definition at line 58 of file hotkey_handler.cpp.

Member Function Documentation

◆ browse()

bool play_controller::hotkey_handler::browse ( ) const
protected

Definition at line 72 of file hotkey_handler.cpp.

◆ can_execute_command()

bool play_controller::hotkey_handler::can_execute_command ( const hotkey::ui_command command) const
overridevirtual

Check if a command can be executed.

Implements hotkey::command_executor.

Reimplemented in playmp_controller::hotkey_handler, and playsingle_controller::hotkey_handler.

Definition at line 278 of file hotkey_handler.cpp.

References events::commands_disabled, events::menu_handler::current_unit(), events::mouse_handler::get_last_hex(), hotkey::HOTKEY_ACCELERATED, hotkey::HOTKEY_ACHIEVEMENTS, hotkey::HOTKEY_AI_FORMULA, hotkey::HOTKEY_ANIMATE_MAP, hotkey::HOTKEY_BEST_ENEMY_MOVES, hotkey::HOTKEY_CHAT_LOG, hotkey::HOTKEY_CLEAR_MSG, hotkey::ui_command::hotkey_command, hotkey::HOTKEY_CUSTOM_CMD, hotkey::HOTKEY_CYCLE_BACK_UNITS, hotkey::HOTKEY_CYCLE_UNITS, hotkey::HOTKEY_DESELECT_HEX, hotkey::HOTKEY_FULLSCREEN, hotkey::HOTKEY_HELP, hotkey::HOTKEY_HELP_ABOUT_SAVELOAD, hotkey::HOTKEY_LABEL_SETTINGS, hotkey::HOTKEY_LEADER, hotkey::HOTKEY_LOAD_AUTOSAVES, hotkey::HOTKEY_LOAD_GAME, hotkey::HOTKEY_MAP_SCREENSHOT, hotkey::HOTKEY_MINIMAP_CODING_TERRAIN, hotkey::HOTKEY_MINIMAP_CODING_UNIT, hotkey::HOTKEY_MINIMAP_DRAW_TERRAIN, hotkey::HOTKEY_MINIMAP_DRAW_UNITS, hotkey::HOTKEY_MINIMAP_DRAW_VILLAGES, hotkey::HOTKEY_MOUSE_SCROLL, hotkey::HOTKEY_MOVE_ACTION, hotkey::HOTKEY_MUTE, hotkey::HOTKEY_NULL, hotkey::HOTKEY_OBJECTIVES, hotkey::HOTKEY_PREFERENCES, hotkey::HOTKEY_QUIT_GAME, hotkey::HOTKEY_QUIT_TO_DESKTOP, hotkey::HOTKEY_REDO, hotkey::HOTKEY_RENAME_UNIT, hotkey::HOTKEY_SAVE_GAME, hotkey::HOTKEY_SAVE_MAP, hotkey::HOTKEY_SAVE_REPLAY, hotkey::HOTKEY_SCREENSHOT, hotkey::HOTKEY_SCROLL_DOWN, hotkey::HOTKEY_SCROLL_LEFT, hotkey::HOTKEY_SCROLL_RIGHT, hotkey::HOTKEY_SCROLL_UP, hotkey::HOTKEY_SEARCH, hotkey::HOTKEY_SELECT_AND_ACTION, hotkey::HOTKEY_SELECT_HEX, hotkey::HOTKEY_SHOW_ENEMY_MOVES, hotkey::HOTKEY_SPEAK, hotkey::HOTKEY_SPEAK_ALL, hotkey::HOTKEY_SPEAK_ALLY, hotkey::HOTKEY_STATISTICS, hotkey::HOTKEY_STATUS_TABLE, hotkey::HOTKEY_SURRENDER, hotkey::HOTKEY_TERRAIN_DESCRIPTION, hotkey::HOTKEY_TOGGLE_ELLIPSES, hotkey::HOTKEY_TOGGLE_GRID, hotkey::HOTKEY_TOUCH_HEX, hotkey::HOTKEY_UNDO, hotkey::HOTKEY_UNIT_DESCRIPTION, hotkey::HOTKEY_UNIT_LIST, hotkey::HOTKEY_USER_CMD, hotkey::HOTKEY_ZOOM_DEFAULT, hotkey::HOTKEY_ZOOM_IN, hotkey::HOTKEY_ZOOM_OUT, game_config::images::linger, hotkey::LUA_CONSOLE, play_controller::menu_handler_, play_controller::mouse_handler_, t, map_location::valid(), and unit_map::iterator_base< iter_types >::valid().

Referenced by playsingle_controller::hotkey_handler::can_execute_command().

◆ cycle_back_units()

void play_controller::hotkey_handler::cycle_back_units ( )
overridevirtual

◆ cycle_units()

void play_controller::hotkey_handler::cycle_units ( )
overridevirtual

◆ deselect_hex()

void play_controller::hotkey_handler::deselect_hex ( )
overridevirtual

◆ do_execute_command()

bool play_controller::hotkey_handler::do_execute_command ( const hotkey::ui_command command,
bool  press = true,
bool  release = false 
)
overridevirtual

◆ expand_autosaves()

void play_controller::hotkey_handler::expand_autosaves ( std::vector< config > &  items,
int  i 
)
private

◆ expand_quickreplay()

void play_controller::hotkey_handler::expand_quickreplay ( std::vector< config > &  items,
int  i 
)
private

◆ expand_wml_commands()

void play_controller::hotkey_handler::expand_wml_commands ( std::vector< config > &  items,
int  i 
)
private

Replaces "wml" in items with all active WML menu items for the current field.

Definition at line 455 of file hotkey_handler.cpp.

References play_controller::gamestate(), game_events::wmi_manager::get_items(), events::mouse_handler::get_last_hex(), game_state::get_wml_menu_items(), i, and play_controller::mouse_handler_.

◆ gamestate() [1/2]

game_state & play_controller::hotkey_handler::gamestate ( )
protected

Definition at line 64 of file hotkey_handler.cpp.

◆ gamestate() [2/2]

const game_state & play_controller::hotkey_handler::gamestate ( ) const
protected

Definition at line 68 of file hotkey_handler.cpp.

◆ get_action_image()

std::string play_controller::hotkey_handler::get_action_image ( const hotkey::ui_command cmd) const
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 531 of file hotkey_handler.cpp.

◆ get_action_state()

hotkey::ACTION_STATE play_controller::hotkey_handler::get_action_state ( const hotkey::ui_command cmd) const
overridevirtual

◆ get_display()

display& play_controller::hotkey_handler::get_display ( )
inlineoverrideprotectedvirtual

◆ goto_leader()

void play_controller::hotkey_handler::goto_leader ( )
overridevirtual

◆ gui()

game_display * play_controller::hotkey_handler::gui ( ) const
protected

Definition at line 60 of file hotkey_handler.cpp.

◆ in_context_menu()

bool play_controller::hotkey_handler::in_context_menu ( const hotkey::ui_command cmd) const

Determines whether the command should be in the context menu or not.

Independent of whether or not we can actually execute the command.

Definition at line 505 of file hotkey_handler.cpp.

References play_controller::gamestate(), events::mouse_handler::get_last_hex(), hotkey::ui_command::hotkey_command, hotkey::HOTKEY_RECALL, hotkey::HOTKEY_RECRUIT, hotkey::HOTKEY_REPEAT_RECRUIT, play_controller::mouse_handler_, and game_state::side_can_recruit_on().

◆ left_mouse_click()

void play_controller::hotkey_handler::left_mouse_click ( )
overridevirtual

◆ linger()

bool play_controller::hotkey_handler::linger ( ) const
protected

Definition at line 73 of file hotkey_handler.cpp.

◆ load_autosave()

void play_controller::hotkey_handler::load_autosave ( const std::string &  filename,
bool  start_replay = false 
)
virtual

◆ load_game()

void play_controller::hotkey_handler::load_game ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 103 of file hotkey_handler.cpp.

◆ move_action()

void play_controller::hotkey_handler::move_action ( )
overridevirtual

◆ objectives()

void play_controller::hotkey_handler::objectives ( )
overridevirtual

◆ preferences()

void play_controller::hotkey_handler::preferences ( )
overridevirtual

◆ redo()

void play_controller::hotkey_handler::redo ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 182 of file hotkey_handler.cpp.

◆ replay_skip_animation()

virtual void play_controller::hotkey_handler::replay_skip_animation ( )
inlineoverridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 115 of file hotkey_handler.hpp.

References play_controller_, and play_controller::toggle_skipping_replay().

◆ right_mouse_click()

void play_controller::hotkey_handler::right_mouse_click ( )
overridevirtual

◆ save_game()

void play_controller::hotkey_handler::save_game ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 91 of file hotkey_handler.cpp.

◆ save_map()

void play_controller::hotkey_handler::save_map ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 99 of file hotkey_handler.cpp.

◆ save_replay()

void play_controller::hotkey_handler::save_replay ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 95 of file hotkey_handler.cpp.

◆ scroll_down()

void play_controller::hotkey_handler::scroll_down ( bool  on)
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 238 of file hotkey_handler.cpp.

◆ scroll_left()

void play_controller::hotkey_handler::scroll_left ( bool  on)
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 243 of file hotkey_handler.cpp.

◆ scroll_right()

void play_controller::hotkey_handler::scroll_right ( bool  on)
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 248 of file hotkey_handler.cpp.

◆ scroll_up()

void play_controller::hotkey_handler::scroll_up ( bool  on)
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 233 of file hotkey_handler.cpp.

◆ search()

void play_controller::hotkey_handler::search ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 210 of file hotkey_handler.cpp.

References play_controller::menu_handler_, and events::menu_handler::search().

◆ select_and_action()

void play_controller::hotkey_handler::select_and_action ( )
overridevirtual

◆ select_hex()

void play_controller::hotkey_handler::select_hex ( )
overridevirtual

◆ show_chat_log()

void play_controller::hotkey_handler::show_chat_log ( )
overridevirtual

◆ show_enemy_moves()

void play_controller::hotkey_handler::show_enemy_moves ( bool  ignore_units)
overridevirtual

◆ show_help()

void play_controller::hotkey_handler::show_help ( )
overridevirtual

◆ show_menu()

void play_controller::hotkey_handler::show_menu ( const std::vector< config > &  items_arg,
int  xloc,
int  yloc,
bool  context_menu,
display disp 
)
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 468 of file hotkey_handler.cpp.

References i, controller_base::in_context_menu(), and lua_gui2::show_menu().

◆ show_statistics()

void play_controller::hotkey_handler::show_statistics ( )
overridevirtual

◆ speak()

void play_controller::hotkey_handler::speak ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 166 of file hotkey_handler.cpp.

References play_controller::menu_handler_, and events::menu_handler::speak().

◆ status_table()

void play_controller::hotkey_handler::status_table ( )
overridevirtual

◆ terrain_description()

void play_controller::hotkey_handler::terrain_description ( )
overridevirtual

◆ toggle_accelerated_speed()

void play_controller::hotkey_handler::toggle_accelerated_speed ( )
overridevirtual

◆ toggle_ellipses()

void play_controller::hotkey_handler::toggle_ellipses ( )
overridevirtual

◆ toggle_grid()

void play_controller::hotkey_handler::toggle_grid ( )
overridevirtual

◆ touch_hex()

void play_controller::hotkey_handler::touch_hex ( )
overridevirtual

◆ undo()

void play_controller::hotkey_handler::undo ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 178 of file hotkey_handler.cpp.

◆ unit_description()

void play_controller::hotkey_handler::unit_description ( )
overridevirtual

◆ unit_list()

void play_controller::hotkey_handler::unit_list ( )
overridevirtual

Member Data Documentation

◆ last_context_menu_x_

int play_controller::hotkey_handler::last_context_menu_x_
private

Definition at line 66 of file hotkey_handler.hpp.

◆ last_context_menu_y_

int play_controller::hotkey_handler::last_context_menu_y_
private

Definition at line 67 of file hotkey_handler.hpp.

◆ menu_handler_

events::menu_handler& play_controller::hotkey_handler::menu_handler_
protected

Definition at line 43 of file hotkey_handler.hpp.

◆ mouse_handler_

events::mouse_handler& play_controller::hotkey_handler::mouse_handler_
protected

Definition at line 44 of file hotkey_handler.hpp.

◆ play_controller_

play_controller& play_controller::hotkey_handler::play_controller_
protected

References to parent object / constituents.

Definition at line 41 of file hotkey_handler.hpp.

Referenced by get_display(), and replay_skip_animation().

◆ saved_game_

saved_game& play_controller::hotkey_handler::saved_game_
protected

Definition at line 46 of file hotkey_handler.hpp.

◆ wml_menu_hotkey_prefix

const std::string play_controller::hotkey_handler::wml_menu_hotkey_prefix = "wml_menu:"
static

Definition at line 77 of file hotkey_handler.hpp.


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