]> git.lyx.org Git - lyx.git/blobdiff - src/trans_mgr.h
Real fix from Bernhard Roider
[lyx.git] / src / trans_mgr.h
index 0ef601f29bc560a1f5561a5c9a26b20947ad6b9d..06e98991eb0d0d068df3c17d59f4f92d30da082f 100644 (file)
 
 #include "chset.h"
 #include "trans_decl.h"
-#include "support/std_string.h"
 
+#include <boost/scoped_ptr.hpp>
+
+
+namespace lyx {
+
+class LCursor;
 class LyXText;
 class Trans;
 
@@ -27,11 +32,11 @@ public:
        ///
        virtual ~TransState() {}
        ///
-       virtual string const normalkey(char) = 0;
+       virtual std::string const normalkey(char) = 0;
        ///
        virtual bool backspace() = 0;
        ///
-       virtual string const deadkey(char, KmodInfo) = 0;
+       virtual std::string const deadkey(char, KmodInfo) = 0;
        ///
        static char const TOKEN_SEP;
 };
@@ -73,11 +78,11 @@ public:
        ///
        TransInitState();
        ///
-       virtual string const normalkey(char);
+       virtual std::string const normalkey(char);
        ///
        virtual bool backspace() { return true; }
        ///
-       virtual string const deadkey(char, KmodInfo);
+       virtual std::string const deadkey(char, KmodInfo);
 };
 
 
@@ -87,14 +92,14 @@ public:
        ///
        TransDeadkeyState();
        ///
-       virtual string const normalkey(char);
+       virtual std::string const normalkey(char);
        ///
        virtual bool backspace() {
                currentState = init_state_;
                return false;
        }
        ///
-       virtual string const deadkey(char, KmodInfo);
+       virtual std::string const deadkey(char, KmodInfo);
 };
 
 
@@ -104,7 +109,7 @@ public:
        ///
        TransCombinedState();
        ///
-       virtual string const normalkey(char);
+       virtual std::string const normalkey(char);
        ///
        virtual bool backspace() {
                // cancel the second deadkey
@@ -115,7 +120,7 @@ public:
                return false;
        }
        ///
-       virtual string const deadkey(char, KmodInfo);
+       virtual std::string const deadkey(char, KmodInfo);
 };
 
 
@@ -138,60 +143,63 @@ private:
        ///
        Trans * active_;
        ///
-       Trans * t1_;
+       boost::scoped_ptr<Trans> t1_;
        ///
-       Trans * t2_;
+       boost::scoped_ptr<Trans> t2_;
        ///
        static Trans default_;
        ///
        CharacterSet chset_;
        ///
-       void insert(string const &, LyXText *);
+       void insert(std::string const &, LyXText *, LCursor & cur);
        ///
-       void insertVerbatim(string const &, LyXText *);
+       void insertVerbatim(std::string const &, LyXText *, LCursor & cur);
 public:
        ///
        TransManager();
        ///
-       virtual ~TransManager();
+       ~TransManager();
        ///
-       int SetPrimary(string const &);
+       int setPrimary(std::string const &);
        ///
-       int SetSecondary(string const &);
+       int setSecondary(std::string const &);
        ///
-       void EnablePrimary();
+       void enablePrimary();
        ///
-       void EnableSecondary();
+       void enableSecondary();
        ///
-       void DisableKeymap();
+       void disableKeymap();
        ///
-       bool setCharset(string const &);
+       bool setCharset(std::string const &);
        ///
        bool backspace() {
                return trans_fsm_.currentState->backspace();
        }
        ///
-       void TranslateAndInsert(char, LyXText *);
+       void translateAndInsert(char, LyXText *, LCursor &);
        ///
-       string const deadkey(char, KmodInfo);
+       std::string const deadkey(char, KmodInfo);
        ///
-       string const normalkey(char);
+       std::string const normalkey(char);
        ///
-       void deadkey(char, tex_accent, LyXText *);
+       void deadkey(char, tex_accent, LyXText *, LCursor &);
 };
 
 
 inline
-string const TransManager::normalkey(char c)
+std::string const TransManager::normalkey(char c)
 {
        return trans_fsm_.currentState->normalkey(c);
 }
 
 
 inline
-string const TransManager::deadkey(char c, KmodInfo t)
+std::string const TransManager::deadkey(char c, KmodInfo t)
 {
        return trans_fsm_.currentState->deadkey(c, t);
 }
 
+
+} // namespace lyx
+
 #endif // TRANS_MANAGER_H