X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetcommand.h;h=a2397dba654e02ac2d2895395e20f89506e32522;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=c20d3efe0a9af95f6c45df2b1136f51cbed25bb6;hpb=70d0ba900118ac7e253c1e1969fd7a3d64ec8e03;p=lyx.git diff --git a/src/insets/insetcommand.h b/src/insets/insetcommand.h index c20d3efe0a..a2397dba65 100644 --- a/src/insets/insetcommand.h +++ b/src/insets/insetcommand.h @@ -13,11 +13,15 @@ #ifndef INSET_LATEXCOMMAND_H #define INSET_LATEXCOMMAND_H - #include "inset.h" #include "insetcommandparams.h" #include "render_button.h" #include "mailinset.h" +#include "cursor.h" + + +namespace lyx { + // Created by Alejandro 970222 /** Used to insert a LaTeX command automatically @@ -30,13 +34,11 @@ class InsetCommand : public InsetOld { public: /// - explicit - InsetCommand(InsetCommandParams const &, - std::string const & mailer_name); + InsetCommand(InsetCommandParams const &, std::string const & mailer_name); /// ~InsetCommand(); /// - void metrics(MetricsInfo &, Dimension &) const; + bool metrics(MetricsInfo &, Dimension &) const; /// void draw(PainterInfo & pi, int x, int y) const; /// @@ -45,57 +47,89 @@ public: /// virtual void read(Buffer const &, LyXLex & lex) { p_.read(lex); } - /// Can remove one InsetBibKey is modified - void scanCommand(std::string const & c) { p_.scanCommand(c); }; /// - virtual int latex(Buffer const &, std::ostream &, + virtual int latex(Buffer const &, odocstream &, OutputParams const &) const; /// - int plaintext(Buffer const &, std::ostream &, + int plaintext(Buffer const &, odocstream &, OutputParams const &) const; /// - virtual int linuxdoc(Buffer const &, std::ostream &, - OutputParams const &) const; - /// - virtual int docbook(Buffer const &, std::ostream &, + virtual int docbook(Buffer const &, odocstream &, OutputParams const & runparams) const; /// - InsetOld::Code lyxCode() const { return InsetOld::NO_CODE; } + InsetBase::Code lyxCode() const { return InsetBase::NO_CODE; } /// InsetCommandParams const & params() const { return p_; } - /// - std::string const & getContents() const { return p_.getContents(); } - /// - void setContents(std::string const & c) { p_.setContents(c); } - /// - std::string const & getOptions() const { return p_.getOptions(); } + /// FIXME remove + std::string const getContents() const { return p_.getContents(); } + /// FIXME remove + void setContents(std::string const & c) + { + updateButtonLabel_ = true; + p_.setContents(c); + } + /// + void setParam(std::string const & name, docstring const & value) + { + updateButtonLabel_ = true; + p_[name] = value; + } + /// + docstring const & getParam(std::string const & name) const + { + return p_[name]; + } + /// FIXME remove + virtual void replaceContents(std::string const & from, std::string const & to); + /// FIXME remove + std::string const getOptions() const { return p_.getOptions(); } + /// FIXME remove + std::string const getSecOptions() const { return p_.getSecOptions(); } /// RenderButton & button() const { return button_; } + /// + bool setMouseHover(bool mouse_hover); protected: /// - virtual - DispatchResult - priv_dispatch(BufferView & bv, FuncRequest const & cmd); + virtual void doDispatch(LCursor & cur, FuncRequest & cmd); + /// + bool getStatus(LCursor & cur, FuncRequest const & cmd, FuncStatus &) const; /// - std::string const getCommand() const { return p_.getCommand(); } + docstring const getCommand() const { return p_.getCommand(); } /// std::string const & getCmdName() const { return p_.getCmdName(); } /// - void setCmdName(std::string const & n) { p_.setCmdName(n); } + void setCmdName(std::string const & n) + { + updateButtonLabel_ = true; + p_.setCmdName(n); + } /// - void setOptions(std::string const & o) { p_.setOptions(o); } + void setOptions(std::string const & o) + { + updateButtonLabel_ = true; + p_.setOptions(o); + } + /// + void setSecOptions(std::string const & s) + { + updateButtonLabel_ = true; + p_.setSecOptions(s); + } /// void setParams(InsetCommandParams const &); /// This should provide the text for the button - virtual std::string const getScreenLabel(Buffer const &) const = 0; + virtual docstring const getScreenLabel(Buffer const &) const = 0; private: /// InsetCommandParams p_; std::string mailer_name_; - mutable bool set_label_; + /// changes color when mouse enters/leaves this inset + bool mouse_hover_; + mutable bool updateButtonLabel_; mutable RenderButton button_; }; @@ -124,4 +158,7 @@ private: }; + +} // namespace lyx + #endif