]> git.lyx.org Git - lyx.git/blobdiff - src/LyXFunc.h
After a hiatus, I'm returning to the rewrite of InsetCommandParams, the purpose of...
[lyx.git] / src / LyXFunc.h
index 159ed81f7f80dd5388e4bc42017ee27ba9c42bbf..692fc732335ffd71eb2b8d02a509c7738c5adb85 100644 (file)
 
 #include "KeySequence.h"
 #include "lfuns.h"
-#include "TextClass_ptr.h"
 
 #include "support/docstring.h"
 
-#include <boost/scoped_ptr.hpp>
-#include <boost/signals/trackable.hpp>
-
 namespace lyx {
 
 class Buffer;
@@ -32,18 +28,25 @@ class FuncRequest;
 class FuncStatus;
 class KeySymbol;
 class Text;
+class TextClassIndex;
+
+namespace support {
+class FileName;
+}
 
 namespace frontend {
 class LyXView;
 }
 
+
 /** This class encapsulates all the LyX command operations.
     This is the class of the LyX's "high level event handler".
     Every user command is processed here, either invocated from
     keyboard or from the GUI. All GUI objects, including buttons and
     menus should use this class and never call kernel functions directly.
 */
-class LyXFunc : public boost::signals::trackable {
+class LyXFunc
+{
 public:
        ///
        explicit LyXFunc();
@@ -61,7 +64,7 @@ public:
        docstring const viewStatusMessage();
 
        ///
-       void processKeySym(KeySymbol const & key, key_modifier::state state);
+       void processKeySym(KeySymbol const & key, KeyModifier state);
 
        ///
        FuncStatus getStatus(FuncRequest const & action) const;
@@ -85,6 +88,15 @@ public:
        ///             not the current buffer
        void gotoBookmark(unsigned int idx, bool openFile, bool switchToBuffer);
 
+       /// cursor x position before dispatch started
+       int cursorBeforeDispatchX() const {
+               return cursorPosBeforeDispatchX_;
+       }
+       /// cursor y position before dispatch started
+       int cursorBeforeDispatchY() const {
+               return cursorPosBeforeDispatchY_;
+       }
+
 private:
        ///
        BufferView * view() const;
@@ -96,11 +108,15 @@ private:
        char_type encoded_last_key;
 
        ///
-       boost::scoped_ptr<KeySequence> keyseq;
+       KeySequence keyseq;
        ///
-       boost::scoped_ptr<KeySequence> cancel_meta_seq;
+       KeySequence cancel_meta_seq;
        ///
-       key_modifier::state meta_fake_bit;
+       KeyModifier meta_fake_bit;
+
+       /// cursor position before dispatch started
+       int cursorPosBeforeDispatchX_;
+       int cursorPosBeforeDispatchY_;
 
        /// Error status, only Dispatch can change this flag
        mutable bool errorstat;
@@ -114,13 +130,6 @@ private:
        void sendDispatchMessage(docstring const & msg,
                FuncRequest const & ev);
 
-       // I think the following should be moved to BufferView. (Asger)
-       ///
-       void menuNew(std::string const & argument, bool fromTemplate);
-       ///
-       void open(std::string const &);
-       ///
-       void doImport(std::string const &);
        ///
        void closeBuffer();
        ///
@@ -128,7 +137,7 @@ private:
        ///
        bool ensureBufferClean(BufferView * bv);
        ///
-       void updateLayout(TextClass_ptr const & oldlayout, Buffer * buffer);
+       void updateLayout(TextClassIndex const & oldlayout, Buffer * buffer);
 };
 
 /// Implementation is in LyX.cpp