X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_macrotemplate.h;h=a8f09a04ad75af19df95e803d703f623dad6361c;hb=d359dd8fca52c4f0100f7cf4bf636113c5c4e49f;hp=bf34520575337c80772ea773fada396d8129b7cb;hpb=26428cdf19cf41b4c07ed47c0058af863faacb1e;p=lyx.git diff --git a/src/mathed/math_macrotemplate.h b/src/mathed/math_macrotemplate.h index bf34520575..a8f09a04ad 100644 --- a/src/mathed/math_macrotemplate.h +++ b/src/mathed/math_macrotemplate.h @@ -1,57 +1,48 @@ // -*- C++ -*- -#ifndef MATHMACROTEMPLATE -#define MATHMACROTEMPLATE +#ifndef MATH_MACROTEMPLATE_H +#define MATH_MACROTEMPLATE_H -#include +#include "math_nestinset.h" +#include "LString.h" -#include "math_parinset.h" -#include "math_macroarg.h" +#ifdef __GNUG__ +#pragma interface +#endif class MathMacro; -/// This class contains the macro definition -class MathMacroTemplate: public MathParInset { - public: - /// A template constructor needs all the data - explicit - MathMacroTemplate(string const &, int na = 0, int f = 0); - /// - ~MathMacroTemplate(); - /// - void draw(Painter &, int, int); - /// - void Metrics(); - /// - void WriteDef(std::ostream &, bool fragile); - /// useful for special insets - void setTCode(MathedTextCodes t); - /// - MathedTextCodes getTCode() const; - /// - void setArgument(MathedArray *, int i= 0); - /// Number of arguments - int getNoArgs() const; - /// - void GetMacroXY(int, int &, int &) const; - /// - MathParInset * getMacroPar(int) const; - /// - void SetMacroFocus(int &, int, int); - /// - void setEditMode(bool); +/** This class contains the macro definition + \author Alejandro Aguilar Sierra + */ +//class MathMacroTemplate : public MathInset, boost::noncopyable - /// Replace the appropriate arguments with a specific macro's data - void update(MathMacro * m = 0); +class MathMacroTemplate : public MathNestInset { +public: + /// + MathMacroTemplate(); + /// + MathMacroTemplate(string const & name, int nargs); + /// + MathInset * clone() const; + /// + void write(WriteStream & os) const; + /// Number of arguments + int numargs() const; + /// + void numargs(int); + /// + string const & name() const; + /// + void draw(MathPainterInfo &, int x, int y) const; + /// + void metrics(MathMetricsInfo & st) const; + /// identifies macro templates + MathMacroTemplate * asMacroTemplate() { return this; } private: - /// - short flags; - /// - MathedTextCodes tcode; - /// - std::vector args_; - /// - int nargs; - /// - friend class MathMacro; + /// + int numargs_; + /// + string name_; }; + #endif