9 #ifndef __HOM_hotKeys_h__
10 #define __HOM_hotKeys_h__
35 virtual std::vector<std::string>
37 const char *hotkey_symbol) = 0;
38 virtual std::vector<std::string>
42 bool resolve_refs =
true) = 0;
43 virtual std::vector<std::vector<std::string>>
47 bool resolve_refs =
true) = 0;
48 virtual std::string hotkeyDescription(
49 const char *hotkey_symbol) = 0;
50 virtual std::string hotkeyLabel(
51 const char *hotkey_symbol) = 0;
52 virtual bool isKeyMatch(
const char *key,
53 const char *hotkey_symbol) = 0;
54 virtual bool isKeycodeMatch(
int key_code,
55 const char *hotkey_symbol) = 0;
56 virtual std::vector<std::string>
57 findConflicts(
const char *hotkey_symbol,
59 virtual std::vector<std::string>
65 virtual std::vector<std::vector<std::string> >
66 resolveAssignments(
const std::vector<std::string> &contexts,
67 const std::vector<std::string> &hotkey_symbols) = 0;
69 virtual int changeIndex() = 0;
73 virtual std::vector< std::map<std::string, std::string> >
74 commandsInContext(
const char * context) = 0;
76 virtual std::vector< std::map<std::string, std::string> >
77 contextsInContext(
const char *context) = 0;
79 virtual std::vector< std::map<std::string, std::string> >
80 commandCategoriesInCategory(
81 const char *category) = 0;
83 virtual std::vector< std::map<std::string, std::string> >
85 const char *category) = 0;
87 virtual std::vector< std::map<std::string, std::string> >
88 commandBindingsInContext(
89 const char *context) = 0;
94 const char *hotkey_symbol,
96 const char *description,
97 const std::vector<std::string> &assignments = std::vector<std::string>()) = 0;
99 virtual bool addContext(
const char *hotkey_symbol,
101 const char *description) = 0;
103 virtual void installDefinitions(
105 virtual void uninstallDefinitions(
108 virtual bool addCommandBinding(
110 const char *command) = 0;
111 virtual bool removeCommandBinding(
113 const char *command) = 0;
116 virtual void removeHotkeySymbol(
117 const char* hotkey_symbol) = 0;
119 virtual std::string hotkeySymbol(
120 const char *english_context,
121 const char *english_command =
nullptr) = 0;
122 virtual bool clearAssignments(
123 const char *hotkey_symbol) = 0;
125 virtual bool addAssignment(
const char *hotkey_symbol,
126 const char *key) = 0;
128 virtual bool removeAssignment(
const char *hotkey_symbol,
129 const char *key) = 0;
131 virtual bool clearAssignments(
133 const char *command) = 0;
134 virtual bool addAssignment(
137 const char *key) = 0;
138 virtual bool removeAssignment(
141 const char *key) = 0;
143 virtual std::map<std::string, std::vector<std::string> >
145 const char *hotkey_symbol,
146 const std::vector<std::string> &layout_keys,
147 int modifier_mask = 0) = 0;
150 virtual std::vector<int> availableKeycodes(
151 const char *hotkey_symbol,
152 const std::vector<int> &layout_keycodes,
153 int modifier_mask = 0) = 0;
155 virtual std::vector<int> availableKeycodes(
158 const std::vector<int> &layout_keycodes,
159 int modifier_mask = 0) = 0;
163 virtual std::string keycodeToString(
int keycode,
164 short modifiers = 0) = 0;
165 virtual int stringToKeycode(
const char *key,
166 short modifiers = 0) = 0;
168 virtual std::vector<std::string>
169 splitKeySequenceString(
const char *key) = 0;
173 virtual void _createBackupTables() = 0;
174 virtual void _restoreBackupTables() = 0;
175 virtual void revertToDefaults(
176 const char *hotkey_symbol,
177 bool one_level_only) = 0;
178 virtual void revertToDefaults(
181 bool one_level_only) = 0;
182 virtual bool saveOverrides() = 0;
186 virtual bool saveAsKeymap(
188 const char *
path =
nullptr) = 0;
189 virtual bool loadKeymap(
191 const char *
path =
nullptr) = 0;
192 virtual bool importKeymap(
const char *
name,
193 const char *
path) = 0;
194 virtual std::vector<std::pair<std::string, std::string> >
196 virtual std::string currentKeymap() = 0;
GLuint GLsizei const GLchar * label
GLsizei const GLchar *const * path
string __repr__(VtArray< T > const &self)
virtual void addCommand(std::string const &symbol, std::string const &label, std::string const &description)=0
virtual void addContext(std::string const &symbol, std::string const &label, std::string const &description)=0
GLuint const GLchar * name
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)