#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,
+ MathMacroTemplate(docstring const & name, int nargs,
+ docstring const & type,
MathArray const & = MathArray(),
MathArray const & = MathArray());
///
- explicit MathMacroTemplate(std::istream & is);
+ explicit MathMacroTemplate(const docstring & str);
///
void edit(LCursor & cur, bool left);
///
///
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
private:
virtual std::auto_ptr<InsetBase> 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