X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxfunc.h;h=549e778d897be8ed85797cbcdc508018144712df;hb=7aa50e8f2bc942e4bb3d7a45e62fdfbe6a21654e;hp=7a2b322e69068ba4592e29e12ca1d0ee6f176b0a;hpb=9080c444582799a9967fb27a5eee08931bd3a323;p=lyx.git diff --git a/src/lyxfunc.h b/src/lyxfunc.h index 7a2b322e69..549e778d89 100644 --- a/src/lyxfunc.h +++ b/src/lyxfunc.h @@ -20,9 +20,10 @@ #include "support/docstring.h" -#include +#include #include +namespace lyx { class BufferView; class FuncRequest; @@ -41,11 +42,17 @@ class LyXView; class LyXFunc : public boost::signals::trackable { public: /// - explicit LyXFunc(LyXView *); + explicit LyXFunc(); /// LyX dispatcher, executes lyx actions. void dispatch(FuncRequest const &); + /// + void setLyXView(LyXView * lv); + + /// + void initKeySequences(kb_keymap * kb); + /// return the status bar state string std::string const viewStatusMessage(); @@ -61,11 +68,11 @@ public: /// True if lyxfunc reports an error bool errorStat() const { return errorstat; } /// Buffer to store result messages - void setMessage(lyx::docstring const & m) const; + void setMessage(docstring const & m) const; /// Buffer to store result messages - void setErrorMessage(lyx::docstring const &) const; + void setErrorMessage(docstring const &) const; /// Buffer to store result messages - lyx::docstring const getMessage() const { return dispatch_buffer; } + docstring const getMessage() const { return dispatch_buffer; } /// Handle a accented char key sequence void handleKeyFunc(kb_action action); @@ -74,29 +81,28 @@ private: BufferView * view() const; /// - LyXView * owner; + LyXView * lyx_view_; /// the last character added to the key sequence, in ISO encoded form - lyx::char_type encoded_last_key; + char_type encoded_last_key; /// - kb_sequence keyseq; + boost::scoped_ptr keyseq; /// - kb_sequence cancel_meta_seq; + boost::scoped_ptr cancel_meta_seq; /// key_modifier::state meta_fake_bit; - /// - void setupLocalKeymap(); + /// Error status, only Dispatch can change this flag mutable bool errorstat; /** Buffer to store messages and result data. Is there a good reason to have this one as static in Dispatch? (Ale) */ - mutable lyx::docstring dispatch_buffer; + mutable docstring dispatch_buffer; /// send a post-dispatch status message - void sendDispatchMessage(lyx::docstring const & msg, + void sendDispatchMessage(docstring const & msg, FuncRequest const & ev); // I think the following should be moved to BufferView. (Asger) @@ -108,6 +114,19 @@ private: void doImport(std::string const &); /// void closeBuffer(); + /// + bool ensureBufferClean(BufferView * bv); }; +/// Implementation is in lyx_main.C +extern LyXFunc & theLyXFunc(); + +/// Implementation is in lyx_main.C +extern FuncStatus getStatus(FuncRequest const & action); + +/// Implementation is in lyx_main.C +extern void dispatch(FuncRequest const & action); + +} // namespace lyx + #endif