]> git.lyx.org Git - lyx.git/blobdiff - src/LyXFunc.h
Embedding: saving inzip name to .lyx file so that embedded files can always be found...
[lyx.git] / src / LyXFunc.h
index d512bc2018d1537d2cc620ac3803f75317fe17d5..3a0dd617dbc0f8ae776140e40dba1975b190a669 100644 (file)
 
 #include "KeySequence.h"
 #include "lfuns.h"
-#include "TextClass_ptr.h"
+#include "TextClassPtr.h"
 
 #include "support/docstring.h"
 
-#include <boost/scoped_ptr.hpp>
-#include <boost/signals/trackable.hpp>
-
 namespace lyx {
 
 class Buffer;
@@ -33,6 +30,10 @@ class FuncStatus;
 class KeySymbol;
 class Text;
 
+namespace support {
+class FileName;
+}
+
 namespace frontend {
 class LyXView;
 }
@@ -43,7 +44,8 @@ class LyXView;
     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 +63,7 @@ public:
        docstring const viewStatusMessage();
 
        ///
-       void processKeySym(KeySymbolPtr key, key_modifier::state state);
+       void processKeySym(KeySymbol const & key, KeyModifier state);
 
        ///
        FuncStatus getStatus(FuncRequest const & action) const;
@@ -85,6 +87,19 @@ public:
        ///             not the current buffer
        void gotoBookmark(unsigned int idx, bool openFile, bool switchToBuffer);
 
+       /// load a buffer into the current workarea.
+       Buffer * loadAndViewFile(support::FileName const &  name, ///< File to load.
+               bool tolastfiles = true);  ///< append to the "Open recent" menu?
+
+       /// 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 +111,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,9 +133,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 &);
        ///
@@ -128,7 +144,7 @@ private:
        ///
        bool ensureBufferClean(BufferView * bv);
        ///
-       void updateLayout(TextClass_ptr const & oldlayout, Buffer * buffer);
+       void updateLayout(TextClassPtr const & oldlayout, Buffer * buffer);
 };
 
 /// Implementation is in LyX.cpp