2 #ifndef MATH_MATRIXINSET_H
3 #define MATH_MATRIXINSET_H
7 #include "math_parinset.h"
9 /** Multiline math paragraph base class.
10 This is the base to all multiline editable math objects
11 like array and eqnarray.
13 class MathMatrixInset: public MathParInset {
17 MathMatrixInset(int m = 1, int n = 1, short st = LM_ST_TEXT);
20 MathMatrixInset(MathMatrixInset *);
22 MathedInset * Clone();
24 virtual ~MathMatrixInset();
26 void draw(Painter &, int, int);
28 void Write(std::ostream &, bool fragile);
32 void SetData(MathedArray *);
34 void SetAlign(char, string const &);
36 int GetColumns() const { return nc; }
38 int GetRows() const { return nr; }
40 virtual bool isMatrix() const { return true; }
42 /// Use this to manage the extra information independently of paragraph
43 MathedRowSt * getRowSt() const { return row; }
45 void setRowSt(MathedRowSt * r) { row = r; }
48 /// Number of columns & rows
55 char v_align; // add approp. type
57 //std::vector<char> h_align;
58 string h_align; // a vector would perhaps be more correct
59 /// Vertical structure