X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_matrixinset.h;h=50d7baccd3e5a458138908795bc52277ca3bb5aa;hb=7338f3b980d4dc5793ff80be814b7a74e1c72274;hp=38af58f5d270a5c727aa9397d6d92ae5c564d382;hpb=b906c06db6ecd4b63bb5cdb5781ab05029303e25;p=lyx.git diff --git a/src/mathed/math_matrixinset.h b/src/mathed/math_matrixinset.h index 38af58f5d2..50d7baccd3 100644 --- a/src/mathed/math_matrixinset.h +++ b/src/mathed/math_matrixinset.h @@ -1,63 +1,45 @@ // -*- C++ -*- +/** + * \file math_matrixinset.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. + * + * \author André Pönitz + * + * Full author contact details are available in file CREDITS. + */ + #ifndef MATH_MATRIXINSET_H #define MATH_MATRIXINSET_H -#include +#include "math_gridinset.h" -#include "math_parinset.h" -/** Multiline math paragraph base class. - This is the base to all multiline editable math objects - like array and eqnarray. - */ -class MathMatrixInset: public MathParInset { - public: - /// - explicit - MathMatrixInset(int m = 1, int n = 1, short st = LM_ST_TEXT); - /// - explicit - MathMatrixInset(MathMatrixInset *); - /// - MathedInset * Clone(); - /// - virtual ~MathMatrixInset(); - /// - void draw(Painter &, int, int); - /// - void Write(std::ostream &, bool fragile); - /// - void Metrics(); - /// - void SetData(MathedArray *); - /// - void SetAlign(char, string const &); - /// - int GetColumns() const { return nc; } - /// - int GetRows() const { return nr; } - /// - virtual bool isMatrix() const { return true; } +// "shortcut" for DelimInset("(",ArrayInset,")") - /// Use this to manage the extra information independently of paragraph - MathedRowSt * getRowSt() const { return row; } - /// - void setRowSt(MathedRowSt * r) { row = r; } - - protected: - /// Number of columns & rows - int nc; - /// - int nr; - /// tab sizes - std::vector ws_; - /// - char v_align; // add approp. type - /// - //std::vector h_align; - string h_align; // a vector would perhaps be more correct - /// Vertical structure - MathedRowSt * row; +class MathMatrixInset : public MathGridInset { +public: + /// + MathMatrixInset(MathGridInset const &); + /// + MathMatrixInset(string const & str); + /// + virtual std::auto_ptr clone() const; + /// identifies MatrixInsets + MathMatrixInset const * asMatrixInset() const { return this; } + /// + void write(WriteStream & os) const; + /// + void normalize(NormalStream &) const; + /// + void maple(MapleStream &) const; + /// + void maxima(MaximaStream &) const; + /// + void mathmlize(MathMLStream &) const; + /// + void octave(OctaveStream &) const; }; + #endif