X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_macrotemplate.h;h=a8f09a04ad75af19df95e803d703f623dad6361c;hb=46880e2b9b49632c56bab2377ce9a3c826cf8d1d;hp=64a9cf7ce4710ab310c64868b1e811abd98a9c01;hpb=aae45c2088d0c6530f589b8c6d0d3ecca8240d35;p=lyx.git diff --git a/src/mathed/math_macrotemplate.h b/src/mathed/math_macrotemplate.h index 64a9cf7ce4..a8f09a04ad 100644 --- a/src/mathed/math_macrotemplate.h +++ b/src/mathed/math_macrotemplate.h @@ -1,13 +1,9 @@ // -*- C++ -*- -#ifndef MATHMACROTEMPLATE -#define MATHMACROTEMPLATE +#ifndef MATH_MACROTEMPLATE_H +#define MATH_MACROTEMPLATE_H -#include - -#include - -#include "math_parinset.h" -#include "math_macroarg.h" +#include "math_nestinset.h" +#include "LString.h" #ifdef __GNUG__ #pragma interface @@ -18,42 +14,35 @@ class MathMacro; /** This class contains the macro definition \author Alejandro Aguilar Sierra */ -class MathMacroTemplate : public MathParInset, public noncopyable { +//class MathMacroTemplate : public MathInset, boost::noncopyable + +class MathMacroTemplate : public MathNestInset { public: - /// 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); /// - void WriteDef(std::ostream &, bool fragile); - /// useful for special insets - void setTCode(MathedTextCodes t); + MathInset * clone() const; /// - MathedTextCodes getTCode() const; + void write(WriteStream & os) const; /// Number of arguments - int getNoArgs() const; + int numargs() const; /// - void GetMacroXY(int, int &, int &) const; + void numargs(int); /// - MathParInset * getMacroPar(int) const; + string const & name() const; /// - void SetMacroFocus(int &, int, int); + void draw(MathPainterInfo &, int x, int y) const; /// - void setEditMode(bool); - - /// Replace the appropriate arguments with a specific macro's data - void update(MathMacro * m); + void metrics(MathMetricsInfo & st) const; + /// identifies macro templates + MathMacroTemplate * asMacroTemplate() { return this; } private: - /// Are we in edit mode or not? - bool edit_; /// - MathedTextCodes tcode_; + int numargs_; /// - std::vector args_; - /// - int nargs_; + string name_; }; + #endif