X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxfunc.h;h=f8a85d0f18beb5ea73d24bc2d691ef7511abad59;hb=53c5edb99e5566fd7c0a1192a697b7b7796919d8;hp=4aa874c6701ea4c74c212ff336c251e2b92fdd25;hpb=a69e7a45780e94f4330a91facfe35126c678e34e;p=lyx.git diff --git a/src/lyxfunc.h b/src/lyxfunc.h index 4aa874c670..f8a85d0f18 100644 --- a/src/lyxfunc.h +++ b/src/lyxfunc.h @@ -2,6 +2,8 @@ #ifndef LYXFUNC_H #define LYXFUNC_H +#include + #ifdef __GNUG__ #pragma interface #endif @@ -13,7 +15,7 @@ #include "LString.h" class LyXView; -class auto_mem_buffer; + /** This class encapsulates all the LyX command operations. This is the class of the LyX's "high level event handler". @@ -21,7 +23,7 @@ class auto_mem_buffer; keyboard or from the GUI. All GUI objects, including buttons and menus should use this class and never call kernel functions directly. */ -class LyXFunc { +class LyXFunc : public SigC::Object { public: /// The status of a function. enum func_status { @@ -41,23 +43,24 @@ public: LyXFunc(LyXView *); /// LyX dispatcher, executes lyx actions. - string Dispatch(int action, char const * arg = 0); + string const Dispatch(int action, string const & arg = string()); /// The same but uses the name of a lyx command. - string Dispatch(string const & cmd); + string const Dispatch(string const & cmd); - /// Same again but for xtl buffers. Still looking for better idea. - bool Dispatch(int action, auto_mem_buffer &); + /// + void miniDispatch(string const & cmd); -#if 0 - /// A keyboard event is processed to execute a lyx action. - int processKeyEvent(XEvent * ev); -#else /// - int processKeySym(KeySym k, unsigned int state); -#endif + void initMiniBuffer(); + /// + int processKeySym(KeySym k, unsigned int state); + + /// we need one internall which is called from inside LyXAction and + /// can contain the string argument. func_status getStatus(int ac) const; + func_status getStatus(int ac, string const & not_to_use_arg) const; /// The last key was meta bool wasMetaKey() const; @@ -65,13 +68,13 @@ public: // These can't be global because are part of the // internal state (ale970227) /// Get the current keyseq string - string keyseqStr() const; + string const keyseqStr() const; /// Is the key sequence uncomplete? bool keyseqUncomplete() const; /// get options for the current keyseq - string keyseqOptions() const; + string const keyseqOptions() const; /// True if lyxfunc reports an error bool errorStat() const { return errorstat; } @@ -80,10 +83,9 @@ public: /// Buffer to store result messages void setErrorMessage(string const &) const; /// Buffer to store result messages - string getMessage() const { return dispatch_buffer; } - /// Get next inset of this class from current cursor position - Inset * getInsetByCode(Inset::Code); - + string const getMessage() const { return dispatch_buffer; } + /// Handle a accented char keysequenze + void handleKeyFunc(kb_action action); /// Should a hint message be displayed? void setHintMessage(bool); private: @@ -98,7 +100,7 @@ private: /// unsigned meta_fake_bit; /// - void moveCursorUpdate(bool selecting = false); + void moveCursorUpdate(bool flag = true, bool selecting = false); /// void setupLocalKeymap(); /// @@ -121,22 +123,21 @@ private: void MenuNew(bool fromTemplate); /// - void MenuOpen(); + void Open(string const &); /// void doImport(string const &); - /// - void doImportHelper(string const &, string const &, string const &, - bool func(BufferView *, string const &) ); - - /// - void MenuInsertLyXFile(string const &); /// void CloseBuffer(); /// void reloadBuffer(); - /// This is the same for all lyxfunc objects + /// + // This return or directly text (default) of getLyXText() + /// + LyXText * TEXT(bool) const; + /// + // This is the same for all lyxfunc objects static bool show_sc; }; @@ -151,7 +152,7 @@ bool LyXFunc::wasMetaKey() const inline -string LyXFunc::keyseqStr() const +string const LyXFunc::keyseqStr() const { // Why not just remove this function string text; @@ -161,7 +162,7 @@ string LyXFunc::keyseqStr() const inline -string LyXFunc::keyseqOptions() const +string const LyXFunc::keyseqOptions() const { // Why not just remove this function string text;