X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFuncRequest.h;h=a5822f4b967b5708a4573343024f4216db64c922;hb=2de30c62f8d671a8c8d4d52a6a7310e2c5ca84de;hp=b8cfd196271dcda200c871de5b1dffa96133cad3;hpb=b79d8e5e2d20e8f294d47fe924c20de17dbd5c0b;p=lyx.git diff --git a/src/FuncRequest.h b/src/FuncRequest.h index b8cfd19627..a5822f4b96 100644 --- a/src/FuncRequest.h +++ b/src/FuncRequest.h @@ -16,11 +16,14 @@ #include "support/docstring.h" +#include "frontends/KeyModifier.h" #include "frontends/mouse_state.h" namespace lyx { +class LyXErr; + /** * This class encapsulates a LyX action and its argument * in order to pass it around easily. @@ -35,6 +38,7 @@ public: TOOLBAR, // A toolbar icon KEYBOARD, // a keyboard binding COMMANDBUFFER, + LYXSERVER, TOC }; @@ -44,7 +48,7 @@ public: explicit FuncRequest(FuncCode act, Origin o = INTERNAL); /// actions without extra argument FuncRequest(FuncCode act, int x, int y, mouse_button::state button, - Origin o = INTERNAL); + KeyModifier modifier, Origin o = INTERNAL); /// actions with extra argument FuncRequest(FuncCode act, docstring const & arg, Origin o = INTERNAL); @@ -54,10 +58,7 @@ public: /// for changing requests a bit FuncRequest(FuncRequest const & cmd, docstring const & arg, Origin o = INTERNAL); - /// for changing requests a bit. FIXME: remove this - FuncRequest(FuncRequest const & cmd, std::string const & arg, - Origin o = INTERNAL); - + /// access the whole argument docstring const & argument() const { return argument_; } /// @@ -76,6 +77,8 @@ public: void set_y(int y) { y_ = y; } /// mouse_button::state button() const { return button_; } + /// + KeyModifier modifier() { return modifier_; } /// argument parsing, extract argument i as std::string std::string getArg(unsigned int i) const; @@ -88,10 +91,10 @@ public: /// static FuncRequest const noaction; private: - /// the action's string argument - docstring argument_; /// the action FuncCode action_; + /// the action's string argument + docstring argument_; /// who initiated the action Origin origin_; /// the x coordinate of a mouse press @@ -100,6 +103,8 @@ private: int y_; /// some extra information (like button number) mouse_button::state button_; + /// + KeyModifier modifier_; }; @@ -107,6 +112,8 @@ bool operator==(FuncRequest const & lhs, FuncRequest const & rhs); std::ostream & operator<<(std::ostream &, FuncRequest const &); +LyXErr & operator<<(LyXErr &, FuncRequest const &); + } // namespace lyx