The Battle for Wesnoth  1.19.6+dev
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
hotkey_command.hpp File Reference
#include "global.hpp"
#include "tooltips.hpp"
#include "tstring.hpp"
#include <bitset>
#include <functional>
#include <map>
Include dependency graph for hotkey_command.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  hotkey::hotkey_command
 Stores all information related to functions that can be bound to hotkeys. More...
 
class  hotkey::scope_changer
 
class  hotkey::wml_hotkey_record
 RAII helper class to control the lifetime of a WML hotkey_command. More...
 

Namespaces

 hotkey
 Keyboard shortcuts for game actions.
 

Typedefs

typedef std::bitset< SCOPE_COUNT > hotkey::hk_scopes
 

Enumerations

enum  hotkey::scope { hotkey::SCOPE_MAIN_MENU , hotkey::SCOPE_GAME , hotkey::SCOPE_EDITOR , hotkey::SCOPE_COUNT }
 Available hotkey scopes. More...
 
enum  hotkey::HOTKEY_COMMAND {
  hotkey::HOTKEY_CYCLE_UNITS , hotkey::HOTKEY_CYCLE_BACK_UNITS , hotkey::HOTKEY_UNIT_HOLD_POSITION , hotkey::HOTKEY_END_UNIT_TURN ,
  hotkey::HOTKEY_LEADER , hotkey::HOTKEY_UNDO , hotkey::HOTKEY_REDO , hotkey::HOTKEY_ZOOM_IN ,
  hotkey::HOTKEY_ZOOM_OUT , hotkey::HOTKEY_ZOOM_DEFAULT , hotkey::HOTKEY_FULLSCREEN , hotkey::HOTKEY_SCREENSHOT ,
  hotkey::HOTKEY_MAP_SCREENSHOT , hotkey::HOTKEY_ACCELERATED , hotkey::HOTKEY_TERRAIN_DESCRIPTION , hotkey::HOTKEY_UNIT_DESCRIPTION ,
  hotkey::HOTKEY_RENAME_UNIT , hotkey::HOTKEY_DELETE_UNIT , hotkey::HOTKEY_SAVE_GAME , hotkey::HOTKEY_SAVE_REPLAY ,
  hotkey::HOTKEY_SAVE_MAP , hotkey::HOTKEY_LOAD_GAME , hotkey::HOTKEY_LOAD_AUTOSAVES , hotkey::HOTKEY_RECRUIT ,
  hotkey::HOTKEY_REPEAT_RECRUIT , hotkey::HOTKEY_RECALL , hotkey::HOTKEY_ENDTURN , hotkey::HOTKEY_TOGGLE_ELLIPSES ,
  hotkey::HOTKEY_TOGGLE_GRID , hotkey::HOTKEY_STATUS_TABLE , hotkey::HOTKEY_MUTE , hotkey::HOTKEY_MOUSE_SCROLL ,
  hotkey::HOTKEY_SPEAK , hotkey::HOTKEY_CREATE_UNIT , hotkey::HOTKEY_CHANGE_SIDE , hotkey::HOTKEY_KILL_UNIT ,
  hotkey::HOTKEY_PREFERENCES , hotkey::HOTKEY_TELEPORT_UNIT , hotkey::HOTKEY_OBJECTIVES , hotkey::HOTKEY_UNIT_LIST ,
  hotkey::HOTKEY_STATISTICS , hotkey::HOTKEY_STOP_NETWORK , hotkey::HOTKEY_START_NETWORK , hotkey::HOTKEY_SURRENDER ,
  hotkey::HOTKEY_QUIT_GAME , hotkey::HOTKEY_QUIT_TO_DESKTOP , hotkey::HOTKEY_LABEL_TEAM_TERRAIN , hotkey::HOTKEY_LABEL_TERRAIN ,
  hotkey::HOTKEY_CLEAR_LABELS , hotkey::HOTKEY_SHOW_ENEMY_MOVES , hotkey::HOTKEY_BEST_ENEMY_MOVES , hotkey::HOTKEY_DELAY_SHROUD ,
  hotkey::HOTKEY_UPDATE_SHROUD , hotkey::HOTKEY_CONTINUE_MOVE , hotkey::HOTKEY_SEARCH , hotkey::HOTKEY_SPEAK_ALLY ,
  hotkey::HOTKEY_SPEAK_ALL , hotkey::HOTKEY_HELP , hotkey::HOTKEY_HELP_ABOUT_SAVELOAD , hotkey::HOTKEY_CHAT_LOG ,
  hotkey::HOTKEY_LANGUAGE , hotkey::HOTKEY_ANIMATE_MAP , hotkey::HOTKEY_REPLAY_PLAY , hotkey::HOTKEY_REPLAY_RESET ,
  hotkey::HOTKEY_REPLAY_STOP , hotkey::HOTKEY_REPLAY_NEXT_TURN , hotkey::HOTKEY_REPLAY_NEXT_SIDE , hotkey::HOTKEY_REPLAY_NEXT_MOVE ,
  hotkey::HOTKEY_REPLAY_SHOW_EVERYTHING , hotkey::HOTKEY_REPLAY_SHOW_EACH , hotkey::HOTKEY_REPLAY_SHOW_TEAM1 , hotkey::HOTKEY_REPLAY_SKIP_ANIMATION ,
  hotkey::HOTKEY_REPLAY_EXIT , hotkey::HOTKEY_SELECT_HEX , hotkey::HOTKEY_DESELECT_HEX , hotkey::HOTKEY_MOVE_ACTION ,
  hotkey::HOTKEY_SELECT_AND_ACTION , hotkey::HOTKEY_TOUCH_HEX , hotkey::HOTKEY_SCROLL_UP , hotkey::HOTKEY_SCROLL_DOWN ,
  hotkey::HOTKEY_SCROLL_LEFT , hotkey::HOTKEY_SCROLL_RIGHT , hotkey::HOTKEY_CANCEL , hotkey::HOTKEY_OKAY ,
  hotkey::HOTKEY_WB_TOGGLE , hotkey::HOTKEY_WB_EXECUTE_ACTION , hotkey::HOTKEY_WB_EXECUTE_ALL_ACTIONS , hotkey::HOTKEY_WB_DELETE_ACTION ,
  hotkey::HOTKEY_WB_BUMP_UP_ACTION , hotkey::HOTKEY_WB_BUMP_DOWN_ACTION , hotkey::HOTKEY_WB_SUPPOSE_DEAD , hotkey::HOTKEY_USER_CMD ,
  hotkey::HOTKEY_CUSTOM_CMD , hotkey::HOTKEY_AI_FORMULA , hotkey::HOTKEY_CLEAR_MSG , hotkey::HOTKEY_LABEL_SETTINGS ,
  hotkey::HOTKEY_ACHIEVEMENTS , hotkey::HOTKEY_MINIMAP_CODING_TERRAIN , hotkey::HOTKEY_MINIMAP_CODING_UNIT , hotkey::HOTKEY_MINIMAP_DRAW_UNITS ,
  hotkey::HOTKEY_MINIMAP_DRAW_VILLAGES , hotkey::HOTKEY_MINIMAP_DRAW_TERRAIN , hotkey::HOTKEY_MP_START_GAME , hotkey::TITLE_SCREEN__RELOAD_WML ,
  hotkey::TITLE_SCREEN__NEXT_TIP , hotkey::TITLE_SCREEN__PREVIOUS_TIP , hotkey::TITLE_SCREEN__CAMPAIGN , hotkey::TITLE_SCREEN__MULTIPLAYER ,
  hotkey::TITLE_SCREEN__ADDONS , hotkey::TITLE_SCREEN__CORES , hotkey::TITLE_SCREEN__EDITOR , hotkey::TITLE_SCREEN__CREDITS ,
  hotkey::TITLE_SCREEN__TEST , hotkey::GLOBAL__HELPTIP , hotkey::LUA_CONSOLE , hotkey::HOTKEY_WML ,
  hotkey::HOTKEY_EDITOR_CUSTOM_TODS , hotkey::HOTKEY_EDITOR_PARTIAL_UNDO , hotkey::HOTKEY_EDITOR_EDIT_UNIT , hotkey::HOTKEY_EDITOR_PALETTE_ITEM_SWAP ,
  hotkey::HOTKEY_EDITOR_PALETTE_ITEMS_CLEAR , hotkey::HOTKEY_EDITOR_PALETTE_GROUPS , hotkey::HOTKEY_EDITOR_PALETTE_UPSCROLL , hotkey::HOTKEY_EDITOR_PALETTE_DOWNSCROLL ,
  hotkey::HOTKEY_EDITOR_REMOVE_LOCATION , hotkey::HOTKEY_EDITOR_PLAYLIST , hotkey::HOTKEY_EDITOR_SCHEDULE , hotkey::HOTKEY_EDITOR_LOCAL_TIME ,
  hotkey::HOTKEY_EDITOR_UNIT_FACING , hotkey::HOTKEY_EDITOR_HELP_TEXT_SHOWN , hotkey::HOTKEY_EDITOR_UNIT_TOGGLE_CANRECRUIT , hotkey::HOTKEY_EDITOR_UNIT_TOGGLE_RENAMEABLE ,
  hotkey::HOTKEY_EDITOR_UNIT_CHANGE_ID , hotkey::HOTKEY_EDITOR_UNIT_TOGGLE_LOYAL , hotkey::HOTKEY_EDITOR_BRUSH_NEXT , hotkey::HOTKEY_EDITOR_BRUSH_DEFAULT ,
  hotkey::HOTKEY_EDITOR_BRUSH_1 , hotkey::HOTKEY_EDITOR_BRUSH_2 , hotkey::HOTKEY_EDITOR_BRUSH_3 , hotkey::HOTKEY_EDITOR_BRUSH_SW_NE ,
  hotkey::HOTKEY_EDITOR_BRUSH_NW_SE , hotkey::HOTKEY_EDITOR_TOOL_NEXT , hotkey::HOTKEY_EDITOR_TOOL_PAINT , hotkey::HOTKEY_EDITOR_TOOL_FILL ,
  hotkey::HOTKEY_EDITOR_TOOL_SELECT , hotkey::HOTKEY_EDITOR_TOOL_STARTING_POSITION , hotkey::HOTKEY_EDITOR_TOOL_LABEL , hotkey::HOTKEY_EDITOR_TOOL_UNIT ,
  hotkey::HOTKEY_EDITOR_TOOL_VILLAGE , hotkey::HOTKEY_EDITOR_TOOL_ITEM , hotkey::HOTKEY_EDITOR_SELECT_ALL , hotkey::HOTKEY_EDITOR_SELECT_INVERSE ,
  hotkey::HOTKEY_EDITOR_SELECT_NONE , hotkey::HOTKEY_EDITOR_CLIPBOARD_PASTE , hotkey::HOTKEY_EDITOR_CLIPBOARD_ROTATE_CW , hotkey::HOTKEY_EDITOR_CLIPBOARD_ROTATE_CCW ,
  hotkey::HOTKEY_EDITOR_CLIPBOARD_FLIP_HORIZONTAL , hotkey::HOTKEY_EDITOR_CLIPBOARD_FLIP_VERTICAL , hotkey::HOTKEY_EDITOR_SELECTION_CUT , hotkey::HOTKEY_EDITOR_SELECTION_COPY ,
  hotkey::HOTKEY_EDITOR_SELECTION_ROTATE , hotkey::HOTKEY_EDITOR_SELECTION_FLIP , hotkey::HOTKEY_EDITOR_SELECTION_FILL , hotkey::HOTKEY_EDITOR_SELECTION_EXPORT ,
  hotkey::HOTKEY_EDITOR_SELECTION_RANDOMIZE , hotkey::HOTKEY_EDITOR_MAP_NEW , hotkey::HOTKEY_EDITOR_MAP_LOAD , hotkey::HOTKEY_EDITOR_MAP_SAVE ,
  hotkey::HOTKEY_EDITOR_MAP_SAVE_AS , hotkey::HOTKEY_EDITOR_MAP_SAVE_ALL , hotkey::HOTKEY_EDITOR_MAP_REVERT , hotkey::HOTKEY_EDITOR_MAP_INFO ,
  hotkey::HOTKEY_EDITOR_MAP_CLOSE , hotkey::HOTKEY_EDITOR_MAP_SWITCH , hotkey::HOTKEY_EDITOR_MAP_RESIZE , hotkey::HOTKEY_EDITOR_MAP_GENERATE ,
  hotkey::HOTKEY_EDITOR_MAP_APPLY_MASK , hotkey::HOTKEY_EDITOR_MAP_CREATE_MASK_TO , hotkey::HOTKEY_EDITOR_UPDATE_TRANSITIONS , hotkey::HOTKEY_EDITOR_TOGGLE_TRANSITIONS ,
  hotkey::HOTKEY_EDITOR_AUTO_UPDATE_TRANSITIONS , hotkey::HOTKEY_EDITOR_PARTIAL_UPDATE_TRANSITIONS , hotkey::HOTKEY_EDITOR_NO_UPDATE_TRANSITIONS , hotkey::HOTKEY_EDITOR_REFRESH ,
  hotkey::HOTKEY_EDITOR_REFRESH_IMAGE_CACHE , hotkey::HOTKEY_EDITOR_DRAW_COORDINATES , hotkey::HOTKEY_EDITOR_DRAW_TERRAIN_CODES , hotkey::HOTKEY_EDITOR_DRAW_NUM_OF_BITMAPS ,
  hotkey::HOTKEY_EDITOR_SIDE_NEW , hotkey::HOTKEY_EDITOR_SIDE_EDIT , hotkey::HOTKEY_EDITOR_SIDE_REMOVE , hotkey::HOTKEY_EDITOR_AREA_REMOVE ,
  hotkey::HOTKEY_EDITOR_AREA_ADD , hotkey::HOTKEY_EDITOR_AREA_SAVE , hotkey::HOTKEY_EDITOR_AREA_RENAME , hotkey::HOTKEY_EDITOR_PBL ,
  hotkey::HOTKEY_EDITOR_CHANGE_ADDON_ID , hotkey::HOTKEY_EDITOR_SELECT_ADDON , hotkey::HOTKEY_EDITOR_OPEN_ADDON , hotkey::HOTKEY_EDITOR_SCENARIO_EDIT ,
  hotkey::HOTKEY_EDITOR_SCENARIO_NEW , hotkey::HOTKEY_EDITOR_SCENARIO_SAVE_AS , hotkey::HOTKEY_NULL
}
 
enum  hotkey::HOTKEY_CATEGORY {
  hotkey::HKCAT_GENERAL , hotkey::HKCAT_SAVING , hotkey::HKCAT_MAP , hotkey::HKCAT_UNITS ,
  hotkey::HKCAT_CHAT , hotkey::HKCAT_REPLAY , hotkey::HKCAT_WHITEBOARD , hotkey::HKCAT_SCENARIO ,
  hotkey::HKCAT_PALETTE , hotkey::HKCAT_TOOLS , hotkey::HKCAT_CLIPBOARD , hotkey::HKCAT_DEBUG ,
  hotkey::HKCAT_CUSTOM , hotkey::HKCAT_PLACEHOLDER
}
 

Functions

t_string hotkey::get_translatable_category_name (HOTKEY_CATEGORY category)
 Gets the display name for a given hotkey category. More...
 
const std::map< std::string_view, hotkey::hotkey_command > & hotkey::get_hotkey_commands ()
 returns a container that contains all currently active hotkey_commands. More...
 
const hotkey_command & hotkey::get_hotkey_command (const std::string &command)
 returns the hotkey_command with the given name More...
 
bool hotkey::is_scope_active (scope s)
 
bool hotkey::is_scope_active (hk_scopes s)
 
bool hotkey::has_hotkey_command (const std::string &id)
 
void hotkey::init_hotkey_commands ()
 

Variables

constexpr uint32_t hotkey::scope_game = 1 << SCOPE_GAME
 
constexpr uint32_t hotkey::scope_editor = 1 << SCOPE_EDITOR
 
constexpr uint32_t hotkey::scope_main = 1 << SCOPE_MAIN_MENU