X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetcommand.h;h=a2397dba654e02ac2d2895395e20f89506e32522;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=32129d039b0d7300e96acdca6ea8fdc786651154;hpb=122e7616d75f7148068f55634d145b942183dc44;p=lyx.git diff --git a/src/insets/insetcommand.h b/src/insets/insetcommand.h index 32129d039b..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,10 +34,11 @@ class InsetCommand : public InsetOld { public: /// - explicit - InsetCommand(InsetCommandParams const &); + InsetCommand(InsetCommandParams const &, std::string const & mailer_name); /// - void metrics(MetricsInfo &, Dimension &) const; + ~InsetCommand(); + /// + bool metrics(MetricsInfo &, Dimension &) const; /// void draw(PainterInfo & pi, int x, int y) const; /// @@ -42,51 +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 &, - LatexRunParams const &) const; /// - int ascii(Buffer const &, std::ostream &, int linelen) const; + virtual int latex(Buffer const &, odocstream &, + OutputParams const &) const; /// - virtual int linuxdoc(Buffer const &, std::ostream &) const; + int plaintext(Buffer const &, odocstream &, + OutputParams const &) const; /// - virtual int docbook(Buffer const &, std::ostream &, bool) const; + 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_; } - /// - virtual dispatch_result localDispatch(FuncRequest const & cmd); - /// - 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: /// - std::string const getCommand() const { return p_.getCommand(); } + virtual void doDispatch(LCursor & cur, FuncRequest & cmd); + /// + bool getStatus(LCursor & cur, FuncRequest const & cmd, FuncStatus &) const; + /// + 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) + { + updateButtonLabel_ = true; + p_.setOptions(o); + } /// - void setOptions(std::string const & o) { 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_; - mutable bool set_label_; + std::string mailer_name_; + /// changes color when mouse enters/leaves this inset + bool mouse_hover_; + mutable bool updateButtonLabel_; mutable RenderButton button_; }; @@ -102,10 +145,11 @@ public: /// virtual std::string const inset2string(Buffer const &) const; /// - static void string2params(std::string const &, InsetCommandParams &); + static void string2params(std::string const &, std::string const & name, + InsetCommandParams &); /// static std::string const params2string(std::string const & name, - InsetCommandParams const &); + InsetCommandParams const &); private: /// std::string const name_; @@ -114,4 +158,7 @@ private: }; + +} // namespace lyx + #endif