diff options
author | Neil <nyamatongwe@gmail.com> | 2014-01-02 12:45:19 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2014-01-02 12:45:19 +1100 |
commit | b699bfc80e3b242795c9e7cbb0d1ac8b48750959 (patch) | |
tree | 317ee8886d9a45cd9be2127eb07134bb3cf2519f /src/KeyMap.h | |
parent | c64f8a2c10db3fb9c023498d821d681f04ee2e7e (diff) | |
download | scintilla-mirror-b699bfc80e3b242795c9e7cbb0d1ac8b48750959.tar.gz |
Use a std::map for KeyMap to avoid custom iteration in favour of standard
provided functionality.
Diffstat (limited to 'src/KeyMap.h')
-rw-r--r-- | src/KeyMap.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/KeyMap.h b/src/KeyMap.h index 2f14e2488..b102b356f 100644 --- a/src/KeyMap.h +++ b/src/KeyMap.h @@ -22,6 +22,22 @@ namespace Scintilla { /** */ +class KeyModifiers { +public: + int key; + int modifiers; + KeyModifiers(int key_, int modifiers_) : key(key_), modifiers(modifiers_) { + } + bool operator<(const KeyModifiers &other) const { + if (key == other.key) + return modifiers < other.modifiers; + else + return key < other.key; + } +}; + +/** + */ class KeyToCommand { public: int key; @@ -32,7 +48,7 @@ public: /** */ class KeyMap { - std::vector<KeyToCommand> kmap; + std::map<KeyModifiers, unsigned int> kmap; static const KeyToCommand MapDefault[]; public: |