]> git.lyx.org Git - lyx.git/blobdiff - src/LyXFunc.h
Fix some issues with textmode. We'll let SetMode() handle as much of
[lyx.git] / src / LyXFunc.h
index d512bc2018d1537d2cc620ac3803f75317fe17d5..9b8fe7ffbd89a5a87b53b498156a6d8b420920fa 100644 (file)
@@ -4,10 +4,10 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
  * \author Jean-Marc Lasgouttes
  * \author John Levon
- * \author André Pönitz
+ * \author André Pönitz
  *
  * Full author contact details are available in file CREDITS.
  */
 #ifndef LYXFUNC_H
 #define LYXFUNC_H
 
+#include "FuncCode.h"
 #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;
 class BufferView;
+class DocumentClass;
 class FuncRequest;
 class FuncStatus;
 class KeySymbol;
 class Text;
 
-namespace frontend {
-class LyXView;
+namespace support {
+class FileName;
 }
 
 /** This class encapsulates all the LyX command operations.
@@ -43,7 +40,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();
@@ -51,24 +49,9 @@ public:
        /// LyX dispatcher, executes lyx actions.
        void dispatch(FuncRequest const &);
 
-       ///
-       void setLyXView(frontend::LyXView * lv);
-
-       ///
-       void initKeySequences(KeyMap * kb);
-
-       /// return the status bar state string
-       docstring const viewStatusMessage();
-
-       ///
-       void processKeySym(KeySymbolPtr key, key_modifier::state state);
-
        ///
        FuncStatus getStatus(FuncRequest const & action) const;
 
-       /// The last key was meta
-       bool wasMetaKey() const;
-
        /// True if lyxfunc reports an error
        bool errorStat() const { return errorstat; }
        /// Buffer to store result messages
@@ -77,30 +60,21 @@ public:
        void setErrorMessage(docstring const &) const;
        /// Buffer to store result messages
        docstring const getMessage() const { return dispatch_buffer; }
-       /// Handle a accented char key sequence
-       void handleKeyFunc(kb_action action);
        /// goto a bookmark
        /// openFile: whether or not open a file if the file is not opened
        /// switchToBuffer: whether or not switch to buffer if the buffer is
        ///             not the current buffer
        void gotoBookmark(unsigned int idx, bool openFile, bool switchToBuffer);
 
-private:
-       ///
-       BufferView * view() const;
-
-       ///
-       frontend::LyXView * lyx_view_;
-
-       /// the last character added to the key sequence, in UCS4 encoded form
-       char_type encoded_last_key;
+       /// cursor x position before dispatch started
+       int cursorBeforeDispatchX() const { return cursorPosBeforeDispatchX_; }
+       /// cursor y position before dispatch started
+       int cursorBeforeDispatchY() const { return cursorPosBeforeDispatchY_; }
 
-       ///
-       boost::scoped_ptr<KeySequence> keyseq;
-       ///
-       boost::scoped_ptr<KeySequence> cancel_meta_seq;
-       ///
-       key_modifier::state meta_fake_bit;
+private:
+       /// cursor position before dispatch started
+       int cursorPosBeforeDispatchX_;
+       int cursorPosBeforeDispatchY_;
 
        /// Error status, only Dispatch can change this flag
        mutable bool errorstat;
@@ -109,26 +83,6 @@ private:
            good reason to have this one as static in Dispatch? (Ale)
        */
        mutable docstring dispatch_buffer;
-
-       /// send a post-dispatch status message
-       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();
-       ///
-       void reloadBuffer();
-       ///
-       bool ensureBufferClean(BufferView * bv);
-       ///
-       void updateLayout(TextClass_ptr const & oldlayout, Buffer * buffer);
 };
 
 /// Implementation is in LyX.cpp