2 #ifndef MATH_MATRIXINSET_H
3 #define MATH_MATRIXINSET_H
5 #include "math_gridinset.h"
11 /** Multiline math paragraph base class.
12 This is the base to all multiline editable math objects
13 like array and eqnarray.
14 \author Alejandro Aguilar Sierra
19 class MathMatrixInset : public MathGridInset {
24 explicit MathMatrixInset(MathInsetTypes t);
26 MathMatrixInset(MathInsetTypes t, int cols);
28 MathInset * clone() const;
30 void write(std::ostream &, bool fragile) const;
32 void metrics(MathStyles st) const;
34 void draw(Painter &, int x, int y) const;
36 string label(int row) const;
38 void label(int row, string const & label);
40 void numbered(int row, bool num);
42 bool numbered(int row) const;
44 bool numberedType() const;
50 std::vector<string> const getLabelList() const;
52 void validate(LaTeXFeatures & features) const;
66 void mutate(string const &);
71 MathInsetTypes getType() const;
75 virtual void setType(MathInsetTypes t);
77 void validate1(LaTeXFeatures & features);
79 void header_write(std::ostream &) const;
81 void footer_write(std::ostream &) const;
85 string nicelabel(int row) const;
88 MathInsetTypes objtype_;
90 std::vector<int> nonum_;
92 std::vector<string> label_;