X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyXFunc.h;h=85e74533d3f874864f8b3be69032226c7792d15a;hb=700af7e7011f102d92222744791638ff2db18f94;hp=2e8f286bda81351a372942d485da97f29d9c0694;hpb=32268e2632df5ee325d9a3589e514590b62fb65f;p=lyx.git diff --git a/src/LyXFunc.h b/src/LyXFunc.h index 2e8f286bda..85e74533d3 100644 --- a/src/LyXFunc.h +++ b/src/LyXFunc.h @@ -15,22 +15,25 @@ #ifndef LYXFUNC_H #define LYXFUNC_H +#include "FuncCode.h" #include "KeySequence.h" -#include "lfuns.h" #include "support/docstring.h" -#include -#include - namespace lyx { +class Buffer; class BufferView; +class DocumentClass; 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(); @@ -51,15 +55,15 @@ public: /// void setLyXView(frontend::LyXView * lv); - + /// void initKeySequences(KeyMap * kb); /// return the status bar state string - docstring const viewStatusMessage(); + docstring viewStatusMessage(); /// - void processKeySym(KeySymbolPtr key, key_modifier::state state); + void processKeySym(KeySymbol const & key, KeyModifier state); /// FuncStatus getStatus(FuncRequest const & action) const; @@ -76,13 +80,18 @@ public: /// Buffer to store result messages docstring const getMessage() const { return dispatch_buffer; } /// Handle a accented char key sequence - void handleKeyFunc(kb_action action); + void handleKeyFunc(FuncCode 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); + /// 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; @@ -94,11 +103,15 @@ private: char_type encoded_last_key; /// - boost::scoped_ptr keyseq; + KeySequence keyseq; /// - boost::scoped_ptr 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; @@ -112,19 +125,12 @@ 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(); /// void reloadBuffer(); /// bool ensureBufferClean(BufferView * bv); + /// + void updateLayout(DocumentClass * oldlayout, Buffer * buffer); }; /// Implementation is in LyX.cpp