]> git.lyx.org Git - lyx.git/blobdiff - src/kbsequence.h
Continue to improve GtkLengthEntry
[lyx.git] / src / kbsequence.h
index 9cbf3c29720d8ee2253b113ed25492f243f10235..3d894a1ec31c54d1fe602cb7db77656a7d757095 100644 (file)
 #define KBSEQUENCE_H
 
 #include "frontends/key_state.h"
-#include "frontends/LyXKeySym.h"
-#include "support/std_string.h"
+
+#include <boost/shared_ptr.hpp>
+
+#include <string>
 #include <vector>
 
 class kb_keymap;
+class LyXKeySym;
+class FuncRequest;
 
 /// Holds a key sequence and the current and standard keymaps
 class kb_sequence {
 public:
+       typedef boost::shared_ptr<LyXKeySym> LyXKeySymPtr;
        typedef std::vector<LyXKeySymPtr> KeySequence;
 
        friend class kb_keymap;
@@ -39,8 +44,9 @@ public:
         * @param nmod which modifiers to mask out for equality test
         * @return the action matching this key sequence or LFUN_UNKNOWN_ACTION
         */
-       int addkey(LyXKeySymPtr keysym, key_modifier::state mod,
-                  key_modifier::state nmod = key_modifier::none);
+       FuncRequest const &
+       addkey(LyXKeySymPtr keysym, key_modifier::state mod,
+              key_modifier::state nmod = key_modifier::none);
 
        /**
         * Add a sequence of keys from a string to the sequence
@@ -53,19 +59,19 @@ public:
         * Prefixes can also be ignored by using the Tilde "~"
         * f.ex.: "~S-Space".
         */
-       string::size_type parse(string const & s);
+       std::string::size_type parse(std::string const & s);
 
        /**
         * Return the current sequence as a string.
         * @see parse()
         */
-       string const print() const;
+       std::string const print() const;
 
        /**
         * Return the current sequence and available options as
         * a string. No options are added if no curmap kb map exists.
         */
-       string const printOptions() const;
+       std::string const printOptions() const;
 
        /// Mark the sequence as deleted.
        void mark_deleted();