X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FMathMacroArgument.h;h=bb9fa1dc304f8742229caf04065f5460b89445f6;hb=cdc847fd304019a19425a0d5d9d42a556a937097;hp=a02aa497a7a3a286a7e971844e328d046414e436;hpb=f7b1c86393d890d5d473279d88e26bb78f8c1275;p=lyx.git diff --git a/src/mathed/MathMacroArgument.h b/src/mathed/MathMacroArgument.h index a02aa497a7..bb9fa1dc30 100644 --- a/src/mathed/MathMacroArgument.h +++ b/src/mathed/MathMacroArgument.h @@ -5,7 +5,7 @@ * Licence details can be found in the file COPYING. * * \author Alejandro Aguilar Sierra - * \author André Pönitz + * \author André Pönitz * * Full author contact details are available in file CREDITS. */ @@ -15,38 +15,56 @@ #include "InsetMath.h" +#include "support/docstring.h" + namespace lyx { -/// A macro argument. -class MathMacroArgument : public InsetMath { +// A # that failed to parse +class InsetMathHash : public InsetMath { public: - /// - explicit MathMacroArgument(std::size_t); + InsetMathHash(docstring const & str = docstring()) : str_('#' + str) {}; /// void metrics(MetricsInfo & mi, Dimension & dim) const; /// void draw(PainterInfo &, int x, int y) const; - /// - std::size_t number() const { return number_; } - /// - InsetCode lyxCode() const { return MATHMACROARG_CODE; } - /// void normalize(NormalStream &) const; /// void write(WriteStream & os) const; private: - virtual Inset * clone() const; - /// A number between 1 and 9 - std::size_t number_; + Inset * clone() const; + +protected: /// docstring str_; }; +/// A macro argument. +class MathMacroArgument : public InsetMathHash { +public: + /// Assumes 0 < number <= 9 + explicit MathMacroArgument(int number); + /// + int number() const { return number_; } + /// Assumes 0 < n <= 9 + void setNumber(int n); + /// + InsetCode lyxCode() const { return MATH_MACROARG_CODE; } + + /// + void normalize(NormalStream &) const; + +private: + Inset * clone() const; + /// A number between 1 and 9 + int number_; +}; + + } // namespace lyx #endif