X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_macrotemplate.h;h=405eeb331172e24ade293c1d44c44dfd69455dc3;hb=92d522b7f1be6046adcac062c558bbf0bf021612;hp=4b878cd6f0c6b5f71f39542ce4ecd9113a80718d;hpb=9f42114d4d865aac377bee09389e4c88fe701cc3;p=lyx.git diff --git a/src/mathed/math_macrotemplate.h b/src/mathed/math_macrotemplate.h index 4b878cd6f0..405eeb3311 100644 --- a/src/mathed/math_macrotemplate.h +++ b/src/mathed/math_macrotemplate.h @@ -2,49 +2,51 @@ #ifndef MATH_MACROTEMPLATE_H #define MATH_MACROTEMPLATE_H -#include +#include "math_nestinset.h" +#include "LString.h" -#include "math_inset.h" - -#ifdef __GNUG__ -#pragma interface -#endif class MathMacro; /** This class contains the macro definition - \author Alejandro Aguilar Sierra + * \author Alejandro Aguilar Sierra + * + * Full author contact details are available in file CREDITS */ -//class MathMacroTemplate : public MathInset, boost::noncopyable +//class MathMacroTemplate : public MathInset, boost::noncopyable -class MathMacroTemplate : public MathInset { +class MathMacroTemplate : public MathNestInset { public: /// MathMacroTemplate(); /// - MathMacroTemplate(string const & name, int nargs); + MathMacroTemplate(string const & name, int nargs, + MathArray const & = MathArray(), MathArray const & = MathArray()); + /// + explicit MathMacroTemplate(std::istream & is); /// - MathInset * Clone() const; + InsetBase * clone() const; /// - void Write(std::ostream &, bool fragile) const; + void write(WriteStream & os) const; /// Number of arguments int numargs() const; /// void numargs(int); /// - void draw(Painter &, int, int); + string name() const; /// - void Metrics(MathStyles st); + void draw(PainterInfo &, int x, int y) const; + /// + void metrics(MetricsInfo & mi, Dimension & dim) const; + /// identifies macro templates + MathMacroTemplate * asMacroTemplate() { return this; } + /// identifies macro templates + MathMacroTemplate const * asMacroTemplate() const { return this; } private: /// int numargs_; /// - std::set users_; - - /// unimplemented - void operator=(MathMacroTemplate const &); - /// unimplemented - //MathMacroTemplate(MathMacroTemplate const &); + string name_; }; #endif