X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetCommand.h;h=ba7a945339497ff849e6d87a9cb3e29c8a400948;hb=fd8b4aebb0ee6404a4532abb9934886b19edd108;hp=04f40f66a167fd3df152cf5554921837d136e9ae;hpb=8693ae474be667e88dba1e53a5a1130ff440e756;p=lyx.git diff --git a/src/insets/InsetCommand.h b/src/insets/InsetCommand.h index 04f40f66a1..ba7a945339 100644 --- a/src/insets/InsetCommand.h +++ b/src/insets/InsetCommand.h @@ -16,11 +16,11 @@ #include "Inset.h" #include "InsetCommandParams.h" #include "RenderButton.h" -#include "Cursor.h" namespace lyx { +class Cursor; ///////////////////////////////////////////////////////////////////////// // @@ -35,24 +35,23 @@ class InsetCommand : public Inset { public: /// - InsetCommand(Buffer *, InsetCommandParams const &, - std::string const & mailer_name); + InsetCommand(Buffer *, InsetCommandParams const &); /// InsetCommand(InsetCommand const & rhs); /// + InsetCommand & operator=(InsetCommand const & rhs); + /// virtual ~InsetCommand(); /// InsetCommand * asInsetCommand() { return this; } /// InsetCommand const * asInsetCommand() const { return this; } - - /// returns true if params are successfully read - static bool string2params(std::string const &, std::string const & name, + /// \return true if params are successfully read + static bool string2params(std::string const & data, InsetCommandParams &); /// - static std::string params2string(std::string const & name, - InsetCommandParams const &); + static std::string params2string(InsetCommandParams const &); /// InsetCommandParams const & params() const { return p_; } /// @@ -64,12 +63,12 @@ public: /// FIXME Remove docstring const getFirstNonOptParam() const { return p_.getFirstNonOptParam(); } - /// \name Methods inherited from Inset class + /// \name Public functions inherited from Inset class //@{ /// void write(std::ostream & os) const { p_.write(os); } /// - void read(Lexer & lex) { p_.read(lex); } + void read(Lexer & lex) { p_.Read(lex, &buffer()); } /// void doDispatch(Cursor & cur, FuncRequest & cmd); /// @@ -79,26 +78,31 @@ public: /// void draw(PainterInfo & pi, int x, int y) const; /// - int latex(odocstream &, OutputParams const &) const; + virtual void drawBackground(PainterInfo &, int, int) const {} + /// + void latex(otexstream &, OutputParams const &) const; /// - int plaintext(odocstream &, OutputParams const &) const; + int plaintext(odocstringstream & ods, OutputParams const & op, + size_t max_length = INT_MAX) const; /// int docbook(odocstream &, OutputParams const & runparams) const; /// bool setMouseHover(BufferView const * bv, bool mouse_hover) const; /// - bool clickable(int, int) const { return hasSettings(); } + bool clickable(BufferView const &, int, int) const { return hasSettings(); } + //@} + +protected: + /// \name Methods relaying to the InsetCommandParams p_ + //@{ /// - docstring contextMenu(BufferView const & bv, int x, int y) const; + std::string contextMenuName() const; /// bool showInsetDialog(BufferView * bv) const; - /// - Dimension const dimension(BufferView const &) const - { return button_.dimension(); } //@} protected: - /// \name Methods relaying to the InsetCommandParams + /// \name Functions relaying to the InsetCommandParams //@{ /// Build the complete LaTeX command /// \see InsetCommandParams::getCommand @@ -120,7 +124,7 @@ private: /// This should provide the text for the button virtual docstring screenLabel() const = 0; - /// \name Methods obligated for InsetCommand derived classes + /// \name Static public methods obligated for InsetCommand derived classes //@{ /// Return parameter information for command cmdName. /// Not implemented here. Must be implemented in derived class. @@ -135,8 +139,6 @@ private: /// InsetCommandParams p_; - /// - std::string mailer_name_; /// changes color when mouse enters/leaves this inset mutable std::map mouse_hover_; ///