1#ifndef YAZE_APP_EDITOR_SYSTEM_SHORTCUT_MANAGER_H
2#define YAZE_APP_EDITOR_SYSTEM_SHORTCUT_MANAGER_H
6#include <unordered_map>
9#ifndef IMGUI_DEFINE_MATH_OPERATORS
10#define IMGUI_DEFINE_MATH_OPERATORS
13#include "imgui/imgui.h"
20 std::vector<ImGuiKey>
keys;
24std::vector<ImGuiKey>
ParseShortcut(
const std::string &shortcut);
31 const std::vector<ImGuiKey> &keys) {
35 const std::vector<ImGuiKey> &keys,
36 std::function<
void()> callback) {
41 std::function<
void()> callback) {
55 std::function<void()>
GetCallback(
const std::string &name)
const {
59 const std::string
GetKeys(
const std::string &name)
const {
const Shortcut & GetShortcut(const std::string &name) const
const std::string GetKeys(const std::string &name) const
void RegisterShortcut(const std::string &name, ImGuiKey key, std::function< void()> callback)
std::function< void()> GetCallback(const std::string &name) const
auto GetShortcuts() const
void RegisterShortcut(const std::string &name, const std::vector< ImGuiKey > &keys, std::function< void()> callback)
void ExecuteShortcut(const std::string &name) const
std::unordered_map< std::string, Shortcut > shortcuts_
void RegisterShortcut(const std::string &name, const std::vector< ImGuiKey > &keys)
std::vector< ImGuiKey > ParseShortcut(const std::string &shortcut)
std::string PrintShortcut(const std::vector< ImGuiKey > &keys)
void ExecuteShortcuts(const ShortcutManager &shortcut_manager)
Main namespace for the application.
std::function< void()> callback
std::vector< ImGuiKey > keys