X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffuncrequest.h;h=037cbb32ed81ff5f2e62815b8054181801a5c391;hb=c0eb43a927a49e054afbdf37e50387065c3d99a4;hp=c48a8938a9a555fc09e727baf206fb2e26eddae8;hpb=b8198905dc65d62ec43f835a42dc219455f881a0;p=lyx.git diff --git a/src/funcrequest.h b/src/funcrequest.h index c48a8938a9..037cbb32ed 100644 --- a/src/funcrequest.h +++ b/src/funcrequest.h @@ -1,30 +1,72 @@ +/** + * \file funcrequest.h + * Copyright 2002 the LyX Team + * Read the file COPYING + * + * \author André Pönitz + */ + #ifndef FUNCREQUEST_H #define FUNCREQUEST_H #include "commandtags.h" +#include "frontends/mouse_state.h" #include "LString.h" -/** This class encapsulates LyX action and arguemnt - * in order to passs it around easily. +class BufferView; + +/** + * This class encapsulates a LyX action and its argument + * in order to pass it around easily. */ -struct FuncRequest { - /// - FuncRequest() - : action(LFUN_UNKNOWN_ACTION) - {} - /// - FuncRequest(kb_action act) - : action(act) - {} - /// - FuncRequest(kb_action act, string const & arg) - : action(act), argument(arg) - {} - - /// +class FuncRequest { +public: + /// just for putting thes things in std::container + FuncRequest(); + /// actions without extra argument + explicit FuncRequest(kb_action act); + /// actions without extra argument + FuncRequest(kb_action act, int x, int y, mouse_button::state button); + /// actions with extra argument + FuncRequest(kb_action act, string const & arg); + /// actions without extra argument + FuncRequest(BufferView * bv, kb_action act); + /// actions with extra argument + FuncRequest(BufferView * bv, kb_action act, string const & arg); + /// for mouse events + FuncRequest(BufferView * bv, kb_action act, + int x, int y, mouse_button::state button); + /// for changing requests a bit + FuncRequest(FuncRequest const & cmd, string const & arg); + /// for changing requests a bit + FuncRequest(FuncRequest const & cmd, BufferView * bv); + + /// access to the view + BufferView * view() const; + /// access to the view + void setView(BufferView * bv); + /// access to button + mouse_button::state button() const; + + /// output a message + void message(string const & msg) const; + /// output an error message + void errorMessage(string const & msg) const; + +private: + /// the BufferView we are talking to + BufferView * view_; +public: // should be private, too... + /// the action kb_action action; - /// + /// the action's string argument string argument; + /// the x coordinate of a mouse press + int x; + /// the y coordinate of a mouse press + int y; + /// some extra information (like button number) + mouse_button::state button_; }; -#endif +#endif // FUNCREQUEST_H