]> git.lyx.org Git - lyx.git/blobdiff - src/LyXFunc.h
* docstream: factorize out some code and introduce odocfstream::reset()
[lyx.git] / src / LyXFunc.h
index 2e8f286bda81351a372942d485da97f29d9c0694..bb5cab78ace1df3dd49e80856ad8cf98617400de 100644 (file)
 
 #include "KeySequence.h"
 #include "lfuns.h"
+#include "TextClassPtr.h"
 
 #include "support/docstring.h"
 
-#include <boost/scoped_ptr.hpp>
-#include <boost/signals/trackable.hpp>
-
 namespace lyx {
 
+class Buffer;
 class BufferView;
 class FuncRequest;
 class FuncStatus;
 class KeySymbol;
 class Text;
 
+namespace support {
+class FileName;
+}
+
 namespace frontend {
 class LyXView;
 }
@@ -41,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();
@@ -59,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;
@@ -83,6 +87,10 @@ 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?
+
 private:
        ///
        BufferView * view() const;
@@ -94,11 +102,11 @@ 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;
 
        /// Error status, only Dispatch can change this flag
        mutable bool errorstat;
@@ -125,6 +133,8 @@ private:
        void reloadBuffer();
        ///
        bool ensureBufferClean(BufferView * bv);
+       ///
+       void updateLayout(TextClassPtr const & oldlayout, Buffer * buffer);
 };
 
 /// Implementation is in LyX.cpp