]> 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 60862dc406da8139f21aadbbe6940f054b0dd476..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;
-class LyXView;
 
+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".
@@ -39,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();
@@ -48,7 +54,7 @@ public:
        void dispatch(FuncRequest const &);
 
        ///
-       void setLyXView(LyXView * lv);
+       void setLyXView(frontend::LyXView * lv);
 
        ///
        void initKeySequences(KeyMap * kb);
@@ -57,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;
@@ -81,22 +87,26 @@ 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;
 
        ///
-       LyXView * lyx_view_;
+       frontend::LyXView * lyx_view_;
 
        /// the last character added to the key sequence, in UCS4 encoded form
        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;
@@ -123,6 +133,8 @@ private:
        void reloadBuffer();
        ///
        bool ensureBufferClean(BufferView * bv);
+       ///
+       void updateLayout(TextClassPtr const & oldlayout, Buffer * buffer);
 };
 
 /// Implementation is in LyX.cpp