X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fkbmap.h;h=bde8793a20c8ab124a9ca1b336b8ef9d8e918dec;hb=55ded55ccfede99816c92de009d82c245ab69514;hp=40c1b3847cfd760cb757fb1666e55b67f83ae0fa;hpb=495cd0eea03f9f5471a247e60ce70abfd1114ada;p=lyx.git diff --git a/src/kbmap.h b/src/kbmap.h index 40c1b3847c..bde8793a20 100644 --- a/src/kbmap.h +++ b/src/kbmap.h @@ -20,8 +20,8 @@ #include -#include "support/std_string.h" #include +#include class kb_sequence; class LyXKeySym; @@ -35,13 +35,13 @@ public: * occurs. * See kb_sequence::parse for the syntax of the seq string */ - string::size_type bind(string const & seq, FuncRequest const & func); + std::string::size_type bind(std::string const & seq, FuncRequest const & func); // Parse a bind file - bool read(string const & bind_file); + bool read(std::string const & bind_file); /// print all available keysyms - string const print() const; + std::string const print() const; /// typedef boost::shared_ptr LyXKeySymPtr; @@ -56,17 +56,31 @@ public: lookup(LyXKeySymPtr key, key_modifier::state mod, kb_sequence * seq) const; + /// + typedef std::deque Bindings; + /// Given an action, find all keybindings. - string const findbinding(FuncRequest const & func, - string const & prefix = string()) const; + Bindings findbindings(FuncRequest const & func) const; + + /// Given an action, print the keybindings. + std::string const printbindings(FuncRequest const & func) const; + + /** + * Given an action, find the first 1-key binding (if it exists). + * The LyXKeySym pointer is 0 is no key is found. + * [only used by the Qt/Mac frontend] + */ + std::pair + find1keybinding(FuncRequest const & func) const; + /** * Returns a string of the given keysym, with modifiers. * @param key the key as a keysym * @param mod the modifiers */ - static string const printKeysym(LyXKeySymPtr key, - key_modifier::state mod); + static std::string const printKeySym(LyXKeySym const & key, + key_modifier::state mod); typedef std::pair modifier_pair; @@ -94,7 +108,15 @@ private: unsigned int r = 0); /// Returns a string of the given key - string const printKey(kb_key const & key) const; + std::string const printKey(kb_key const & key) const; + + /** + * Given an action, find all keybindings + * @param func the action + * @param prefix a sequence to prepend the results + */ + Bindings findbindings(FuncRequest const & func, + kb_sequence const & prefix) const; /// is the table empty ? bool empty() const {