The Battle for Wesnoth  1.15.0-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:
Inheritance graph

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 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 (hotkey::HOTKEY_COMMAND, int index) const override
 
virtual void load_autosave (const std::string &filename)
 
virtual hotkey::ACTION_STATE get_action_state (hotkey::HOTKEY_COMMAND command, int index) const override
 
virtual bool can_execute_command (const hotkey::hotkey_command &command, int index=-1) const override
 Check if a command can be executed. More...
 
virtual bool do_execute_command (const hotkey::hotkey_command &command, int index=-1, 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 (hotkey::HOTKEY_COMMAND command) 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 speak ()
 
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 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
 
const teamviewing_team () const
 
bool viewing_team_is_playing () 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_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

std::vector< std::string > savenames_
 
std::vector< const_item_ptrwml_commands_
 
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 39 of file hotkey_handler.cpp.

◆ ~hotkey_handler()

play_controller::hotkey_handler::~hotkey_handler ( )

Definition at line 50 of file hotkey_handler.cpp.

Member Function Documentation

◆ browse()

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

◆ can_execute_command()

bool play_controller::hotkey_handler::can_execute_command ( const hotkey::hotkey_command command,
int  index = -1 
) const
overridevirtual

Check if a command can be executed.

Implements hotkey::command_executor.

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

Definition at line 270 of file hotkey_handler.cpp.

References play_controller::can_redo(), play_controller::can_undo(), events::commands_disabled, events::menu_handler::current_unit(), play_controller::enemies_visible(), events::mouse_handler::get_last_hex(), play_controller::get_teams_const(), gui(), hotkey::HOTKEY_ACCELERATED, hotkey::HOTKEY_AI_FORMULA, hotkey::HOTKEY_ANIMATE_MAP, hotkey::HOTKEY_BEST_ENEMY_MOVES, hotkey::HOTKEY_CHAT_LOG, hotkey::HOTKEY_CLEAR_MSG, 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_LABEL_SETTINGS, hotkey::HOTKEY_LEADER, 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_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, i, hotkey::hotkey_command::id, utf8::index(), play_controller::is_linger_mode(), play_controller::is_networked_mp(), play_controller::is_observer(), linger(), hotkey::LUA_CONSOLE, menu_handler_, mouse_handler_, play_controller_, savenames_, t, map_location::valid(), unit_map::iterator_base< iter_types >::valid(), display::viewing_side(), and wml_commands_.

Referenced by playsingle_controller::hotkey_handler::can_execute_command(), and show_menu().

◆ cycle_back_units()

void play_controller::hotkey_handler::cycle_back_units ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 161 of file hotkey_handler.cpp.

References browse(), events::mouse_handler::cycle_back_units(), and mouse_handler_.

◆ cycle_units()

void play_controller::hotkey_handler::cycle_units ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 157 of file hotkey_handler.cpp.

References browse(), events::mouse_handler::cycle_units(), and mouse_handler_.

◆ deselect_hex()

void play_controller::hotkey_handler::deselect_hex ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 134 of file hotkey_handler.cpp.

References events::mouse_handler::deselect_hex(), and mouse_handler_.

◆ do_execute_command()

bool play_controller::hotkey_handler::do_execute_command ( const hotkey::hotkey_command command,
int  index = -1,
bool  press = true,
bool  release = false 
)
overridevirtual

◆ expand_autosaves()

void play_controller::hotkey_handler::expand_autosaves ( 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 430 of file hotkey_handler.cpp.

References game_state::board_, game_state::gamedata_, gamestate(), game_events::wmi_manager::get_items(), events::mouse_handler::get_last_hex(), game_state::get_wml_menu_items(), i, mouse_handler_, game_board::units_, and wml_commands_.

Referenced by show_menu().

◆ gamestate() [1/2]

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

◆ gamestate() [2/2]

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

Definition at line 60 of file hotkey_handler.cpp.

References play_controller::gamestate(), and play_controller_.

◆ get_action_image()

std::string play_controller::hotkey_handler::get_action_image ( hotkey::HOTKEY_COMMAND  command,
int  index 
) const
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 508 of file hotkey_handler.cpp.

References utf8::index(), and wml_commands_.

◆ get_action_state()

hotkey::ACTION_STATE play_controller::hotkey_handler::get_action_state ( hotkey::HOTKEY_COMMAND  command,
int  index 
) const
overridevirtual

◆ get_display()

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

Implements hotkey::command_executor_default.

Definition at line 38 of file hotkey_handler.hpp.

◆ goto_leader()

void play_controller::hotkey_handler::goto_leader ( )
overridevirtual

◆ gui()

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

◆ in_context_menu()

bool play_controller::hotkey_handler::in_context_menu ( hotkey::HOTKEY_COMMAND  command) 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 482 of file hotkey_handler.cpp.

References gamestate(), events::mouse_handler::get_last_hex(), play_controller::get_map_const(), gui(), hotkey::HOTKEY_RECALL, hotkey::HOTKEY_RECRUIT, hotkey::HOTKEY_REPEAT_RECRUIT, gamemap::is_castle(), gamemap::is_keep(), mouse_handler_, play_controller_, game_state::side_can_recruit_on(), and display::viewing_side().

Referenced by show_menu().

◆ left_mouse_click()

void play_controller::hotkey_handler::left_mouse_click ( )
overridevirtual

◆ linger()

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

◆ load_autosave()

void play_controller::hotkey_handler::load_autosave ( const std::string &  filename)
virtual

◆ load_game()

void play_controller::hotkey_handler::load_game ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 98 of file hotkey_handler.cpp.

References play_controller::load_game(), and play_controller_.

◆ move_action()

void play_controller::hotkey_handler::move_action ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 130 of file hotkey_handler.cpp.

References browse(), mouse_handler_, and events::mouse_handler::move_action().

◆ objectives()

void play_controller::hotkey_handler::objectives ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 70 of file hotkey_handler.cpp.

References menu_handler_, and events::menu_handler::objectives().

◆ preferences()

void play_controller::hotkey_handler::preferences ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 102 of file hotkey_handler.cpp.

References menu_handler_, and events::menu_handler::preferences().

◆ redo()

void play_controller::hotkey_handler::redo ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 177 of file hotkey_handler.cpp.

References play_controller_, and play_controller::redo().

◆ replay_skip_animation()

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

◆ 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 86 of file hotkey_handler.cpp.

References play_controller_, and play_controller::save_game().

◆ save_map()

void play_controller::hotkey_handler::save_map ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 94 of file hotkey_handler.cpp.

References play_controller_, and play_controller::save_map().

◆ save_replay()

void play_controller::hotkey_handler::save_replay ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 90 of file hotkey_handler.cpp.

References play_controller_, and play_controller::save_replay().

◆ scroll_down()

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

Reimplemented from hotkey::command_executor.

Definition at line 230 of file hotkey_handler.cpp.

References play_controller_, and controller_base::set_scroll_down().

◆ scroll_left()

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

Reimplemented from hotkey::command_executor.

Definition at line 235 of file hotkey_handler.cpp.

References play_controller_, and controller_base::set_scroll_left().

◆ scroll_right()

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

Reimplemented from hotkey::command_executor.

Definition at line 240 of file hotkey_handler.cpp.

References play_controller_, and controller_base::set_scroll_right().

◆ scroll_up()

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

Reimplemented from hotkey::command_executor.

Definition at line 225 of file hotkey_handler.cpp.

References play_controller_, and controller_base::set_scroll_up().

◆ search()

void play_controller::hotkey_handler::search ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 205 of file hotkey_handler.cpp.

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

◆ select_and_action()

void play_controller::hotkey_handler::select_and_action ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 121 of file hotkey_handler.cpp.

References browse(), mouse_handler_, and events::mouse_handler::select_or_action().

◆ select_hex()

void play_controller::hotkey_handler::select_hex ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 137 of file hotkey_handler.cpp.

References gui(), mouse_handler_, and events::mouse_handler::select_hex().

◆ show_chat_log()

void play_controller::hotkey_handler::show_chat_log ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 165 of file hotkey_handler.cpp.

References menu_handler_, and events::menu_handler::show_chat_log().

◆ 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

Reimplemented from hotkey::command_executor.

Definition at line 169 of file hotkey_handler.cpp.

References menu_handler_, and events::menu_handler::show_help().

◆ 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

◆ show_statistics()

void play_controller::hotkey_handler::show_statistics ( )
overridevirtual

◆ status_table()

void play_controller::hotkey_handler::status_table ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 82 of file hotkey_handler.cpp.

References menu_handler_, and events::menu_handler::status_table().

◆ 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

Reimplemented from hotkey::command_executor.

Definition at line 197 of file hotkey_handler.cpp.

References menu_handler_, and events::menu_handler::toggle_ellipses().

◆ toggle_grid()

void play_controller::hotkey_handler::toggle_grid ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 201 of file hotkey_handler.cpp.

References menu_handler_, and events::menu_handler::toggle_grid().

◆ 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 173 of file hotkey_handler.cpp.

References play_controller_, and play_controller::undo().

◆ unit_description()

void play_controller::hotkey_handler::unit_description ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 189 of file hotkey_handler.cpp.

References menu_handler_, and events::menu_handler::unit_description().

◆ unit_list()

void play_controller::hotkey_handler::unit_list ( )
overridevirtual

Reimplemented from hotkey::command_executor.

Definition at line 78 of file hotkey_handler.cpp.

References menu_handler_, and events::menu_handler::unit_list().

◆ viewing_team()

const team & play_controller::hotkey_handler::viewing_team ( ) const
protected

◆ viewing_team_is_playing()

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

Member Data Documentation

◆ last_context_menu_x_

int play_controller::hotkey_handler::last_context_menu_x_
private

Definition at line 68 of file hotkey_handler.hpp.

Referenced by show_menu().

◆ last_context_menu_y_

int play_controller::hotkey_handler::last_context_menu_y_
private

Definition at line 69 of file hotkey_handler.hpp.

Referenced by show_menu().

◆ menu_handler_

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

Definition at line 43 of file hotkey_handler.hpp.

Referenced by playsingle_controller::hotkey_handler::ai_formula(), playsingle_controller::hotkey_handler::can_execute_command(), can_execute_command(), playsingle_controller::hotkey_handler::change_side(), playsingle_controller::hotkey_handler::clear_labels(), playsingle_controller::hotkey_handler::clear_messages(), playsingle_controller::hotkey_handler::continue_move(), playsingle_controller::hotkey_handler::create_unit(), playsingle_controller::hotkey_handler::custom_command(), playsingle_controller::hotkey_handler::end_unit_turn(), goto_leader(), playsingle_controller::hotkey_handler::kill_unit(), playsingle_controller::hotkey_handler::label_settings(), playsingle_controller::hotkey_handler::label_terrain(), objectives(), preferences(), playsingle_controller::hotkey_handler::recall(), playsingle_controller::hotkey_handler::recruit(), playsingle_controller::hotkey_handler::rename_unit(), playsingle_controller::hotkey_handler::repeat_recruit(), search(), playmp_controller::hotkey_handler::shout(), show_chat_log(), show_enemy_moves(), show_help(), show_statistics(), playmp_controller::hotkey_handler::speak(), status_table(), terrain_description(), toggle_ellipses(), toggle_grid(), playsingle_controller::hotkey_handler::toggle_shroud_updates(), unit_description(), playsingle_controller::hotkey_handler::unit_hold_position(), unit_list(), playsingle_controller::hotkey_handler::update_shroud_now(), playsingle_controller::hotkey_handler::user_command(), playmp_controller::hotkey_handler::whisper(), and playsingle_controller::hotkey_handler::whiteboard_suppose_dead().

◆ mouse_handler_

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

◆ play_controller_

play_controller& play_controller::hotkey_handler::play_controller_
protected

◆ saved_game_

saved_game& play_controller::hotkey_handler::saved_game_
protected

Definition at line 46 of file hotkey_handler.hpp.

Referenced by expand_autosaves().

◆ savenames_

std::vector<std::string> play_controller::hotkey_handler::savenames_
private

◆ wml_commands_

std::vector<const_item_ptr> play_controller::hotkey_handler::wml_commands_
private

◆ wml_menu_hotkey_prefix

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

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