X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_macrotemplate.h;h=405eeb331172e24ade293c1d44c44dfd69455dc3;hb=92d522b7f1be6046adcac062c558bbf0bf021612;hp=e000e0aa67a9c3ee8cac50e3acb0db1d77884f84;hpb=a27892b6c8fadfd75f31fb6876cc68a025e02dab;p=lyx.git diff --git a/src/mathed/math_macrotemplate.h b/src/mathed/math_macrotemplate.h index e000e0aa67..405eeb3311 100644 --- a/src/mathed/math_macrotemplate.h +++ b/src/mathed/math_macrotemplate.h @@ -1,62 +1,52 @@ // -*- C++ -*- -#ifndef MATHMACROTEMPLATE -#define MATHMACROTEMPLATE +#ifndef MATH_MACROTEMPLATE_H +#define MATH_MACROTEMPLATE_H -#include +#include "math_nestinset.h" +#include "LString.h" -#include -//#include - -#include "math_parinset.h" -#include "math_macroarg.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 MathParInset, public boost::noncopyable { +//class MathMacroTemplate : public MathInset, boost::noncopyable + +class MathMacroTemplate : public MathNestInset { public: - friend class MathMacro; - - /// A template constructor needs all the data - explicit - MathMacroTemplate(string const &, int na); /// - void draw(Painter &, int, int); + MathMacroTemplate(); /// - void Metrics(); + MathMacroTemplate(string const & name, int nargs, + MathArray const & = MathArray(), MathArray const & = MathArray()); /// - void WriteDef(std::ostream &, bool fragile); - /// useful for special insets - void setTCode(MathedTextCodes t); + explicit MathMacroTemplate(std::istream & is); /// - MathedTextCodes getTCode() const; - /// Number of arguments - int getNoArgs() const; + InsetBase * clone() const; /// - void GetMacroXY(int, int &, int &) const; + void write(WriteStream & os) const; + /// Number of arguments + int numargs() const; /// - MathParInset * getMacroPar(int) const; + void numargs(int); /// - void setMacroPar(int, MathedArray const &); + string name() const; /// - void SetMacroFocus(int &, int, int); + void draw(PainterInfo &, int x, int y) const; /// - void setEditMode(bool); + void metrics(MetricsInfo & mi, Dimension & dim) const; + /// identifies macro templates + MathMacroTemplate * asMacroTemplate() { return this; } + /// identifies macro templates + MathMacroTemplate const * asMacroTemplate() const { return this; } private: - /// Are we in edit mode or not? - bool edit_; /// - MathedTextCodes tcode_; + int numargs_; /// - //std::vector > args_; - std::vector args_; - /// - int nargs_; + string name_; }; + #endif