X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxfunc.h;h=6942650e1906291412a33bab54609e0619353d68;hb=cb52251ccff29d6cbfa13ab90a96be566e3f41ac;hp=f8a8e906e0d8c78705c54453c2943841e19acc9a;hpb=6bba977f42b0cde753ac2ffd26f3f9c6b32ba0b6;p=lyx.git diff --git a/src/lyxfunc.h b/src/lyxfunc.h index f8a8e906e0..6942650e19 100644 --- a/src/lyxfunc.h +++ b/src/lyxfunc.h @@ -6,12 +6,17 @@ #pragma interface #endif -#include "commandtags.h" +#include +#include + +#include "commandtags.h" // for kb_action enum +#include "func_status.h" #include "kbsequence.h" -#include "insets/lyxinset.h" #include "LString.h" class LyXView; +class LyXText; + /** This class encapsulates all the LyX command operations. This is the class of the LyX's "high level event handler". @@ -19,31 +24,33 @@ 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 { +class LyXFunc : public SigC::Object { public: - /// The status of a function. - enum func_status { - OK = 0, // No problem - Unknown = 1, - Disabled = 2, // Command cannot be executed - ToggleOn = 4, - ToggleOff = 8 - }; /// explicit 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); - /// A keyboard event is processed to execute a lyx action. - int processKeyEvent(XEvent * ev); + /// + void miniDispatch(string const & cmd); /// - func_status getStatus(int ac) const; + void initMiniBuffer(); + + /// + void processKeySym(KeySym k, unsigned int state); + + /// we need one internall which is called from inside LyXAction and + /// can contain the string argument. + func_status::value_type getStatus(int ac) const; + /// + func_status::value_type getStatus(int ac, + string const & not_to_use_arg) const; /// The last key was meta bool wasMetaKey() const; @@ -51,13 +58,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; } @@ -66,13 +73,11 @@ 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: /// LyXView * owner; @@ -85,7 +90,7 @@ private: /// unsigned meta_fake_bit; /// - void moveCursorUpdate(bool selecting = false); + void moveCursorUpdate(bool flag = true, bool selecting = false); /// void setupLocalKeymap(); /// @@ -105,24 +110,24 @@ private: // I think the following should be moved to BufferView. (Asger) /// - void MenuNew(bool fromTemplate); + 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 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; }; @@ -137,7 +142,7 @@ bool LyXFunc::wasMetaKey() const inline -string LyXFunc::keyseqStr() const +string const LyXFunc::keyseqStr() const { // Why not just remove this function string text; @@ -147,7 +152,7 @@ string LyXFunc::keyseqStr() const inline -string LyXFunc::keyseqOptions() const +string const LyXFunc::keyseqOptions() const { // Why not just remove this function string text; @@ -169,11 +174,4 @@ void LyXFunc::setHintMessage(bool hm) show_sc = hm; } - -inline -void operator|=(LyXFunc::func_status & fs, LyXFunc::func_status f) -{ - fs = static_cast(fs | f); -} - #endif