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 &);
68 void mutate(MathInsetTypes);
71 int defaultColSpace(int col);
73 char defaultColAlign(int col);
76 MathInsetTypes getType() const;
80 void setType(MathInsetTypes t);
82 void validate1(LaTeXFeatures & features);
84 void header_write(std::ostream &) const;
86 void footer_write(std::ostream &) const;
90 string nicelabel(int row) const;
93 MathInsetTypes objtype_;
95 std::vector<int> nonum_;
97 std::vector<string> label_;