X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FMathMacroTemplate.h;h=7dd81890a997d7ac4115f386937f1fd9a8357ad8;hb=a746aa52146257c0e7a2d60123f63dccad5b2751;hp=580b6b16d4bda3377960c5258e35c85da024d999;hpb=e89625ef28143545a511cdabc67dee8b7be1b216;p=lyx.git diff --git a/src/mathed/MathMacroTemplate.h b/src/mathed/MathMacroTemplate.h index 580b6b16d4..7dd81890a9 100644 --- a/src/mathed/MathMacroTemplate.h +++ b/src/mathed/MathMacroTemplate.h @@ -14,63 +14,73 @@ #define MATH_MACROTEMPLATE_H #include "MathData.h" -#include "MathMacroTable.h" +#include "MacroTable.h" #include "InsetMathNest.h" #include "support/types.h" + +namespace lyx { + /// This class contains the macro definition. class MathMacroTemplate : public InsetMathNest { public: /// MathMacroTemplate(); /// - MathMacroTemplate(std::string const & name, int nargs, - std::string const & type, - MathArray const & = MathArray(), - MathArray const & = MathArray()); + MathMacroTemplate(docstring const & name, int nargs, + docstring const & type, + MathData const & = MathData(), + MathData const & = MathData()); /// - explicit MathMacroTemplate(std::istream & is); + explicit MathMacroTemplate(const docstring & str); /// - void edit(LCursor & cur, bool left); + void edit(Cursor & cur, bool left); /// EDITABLE editable() const { return HIGHLY_EDITABLE; } /// - void read(Buffer const &, LyXLex & lex); + void read(Buffer const &, Lexer & lex); /// void write(Buffer const &, std::ostream & os) const; /// void write(WriteStream & os) const; + /// + int plaintext(Buffer const &, odocstream &, + OutputParams const &) const; + /// Number of arguments int numargs() const; /// void numargs(int); /// - std::string name() const; + docstring name() const; /// MacroData asMacroData() const; /// void draw(PainterInfo & pi, int x, int y) const; /// - void metrics(MetricsInfo & mi, Dimension & dim) const; + bool metrics(MetricsInfo & mi, Dimension & dim) const; /// identifies macro templates MathMacroTemplate * asMacroTemplate() { return this; } /// identifies macro templates MathMacroTemplate const * asMacroTemplate() const { return this; } /// - InsetBase::Code lyxCode() const { return MATHMACRO_CODE; } + Inset::Code lyxCode() const { return MATHMACRO_CODE; } private: - virtual std::auto_ptr doClone() const; + virtual std::auto_ptr doClone() const; /// prefix in inset - lyx::docstring prefix() const; + docstring prefix() const; /// int numargs_; /// - std::string name_; + docstring name_; /// newcommand or renewcommand or def - std::string type_; + docstring type_; }; + +} // namespace lyx + #endif