X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_matrixinset.h;h=50d7baccd3e5a458138908795bc52277ca3bb5aa;hb=7338f3b980d4dc5793ff80be814b7a74e1c72274;hp=c6cdaab385b02e50692f70bb9e04fd20cf39d3b8;hpb=40b2b89d4dbd9f948732741503574333ac7b7df7;p=lyx.git diff --git a/src/mathed/math_matrixinset.h b/src/mathed/math_matrixinset.h index c6cdaab385..50d7baccd3 100644 --- a/src/mathed/math_matrixinset.h +++ b/src/mathed/math_matrixinset.h @@ -1,108 +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 "math_gridinset.h" -#ifdef __GNUG__ -#pragma interface -#endif - -/** Multiline math paragraph base class. - This is the base to all multiline editable math objects - like array and eqnarray. - \author Alejandro Aguilar Sierra -*/ -class LaTeXFeatures; +// "shortcut" for DelimInset("(",ArrayInset,")") class MathMatrixInset : public MathGridInset { -public: - /// - MathMatrixInset(); - /// - explicit MathMatrixInset(MathInsetTypes t); - /// - MathMatrixInset(MathInsetTypes t, col_type cols); - /// - MathInset * clone() const; - /// - void write(MathWriteInfo & os) const; - /// - void writeNormal(std::ostream &) const; +public: /// - void metrics(MathMetricsInfo const & st) const; + MathMatrixInset(MathGridInset const &); /// - void draw(Painter &, int x, int y) const; + MathMatrixInset(string const & str); /// - string label(row_type row) const; - /// - void label(row_type row, string const & label); - /// - void numbered(row_type row, bool num); - /// - bool numbered(row_type row) const; - /// - bool numberedType() const; - /// - bool display() const; - /// - bool ams() const; - /// - std::vector const getLabelList() const; - /// - void validate(LaTeXFeatures & features) const; - /// identifies MatrixInsets - virtual MathMatrixInset const * asMatrixInset() const { return this; } + virtual std::auto_ptr clone() const; /// identifies MatrixInsets - virtual MathMatrixInset * asMatrixInset() { return this; } + MathMatrixInset const * asMatrixInset() const { return this; } /// - void addRow(row_type); + void write(WriteStream & os) const; /// - void delRow(row_type); - /// - void addCol(col_type); - /// - void delCol(col_type); - /// - void appendRow(); - - /// change type - void mutate(string const &); - /// - void mutate(MathInsetTypes); - - /// - int defaultColSpace(col_type col); - /// - char defaultColAlign(col_type col); - - /// - MathInsetTypes getType() const; - -private: - /// - void setType(MathInsetTypes t); - /// - void validate1(LaTeXFeatures & features); - /// - void header_write(std::ostream &) const; - /// - void footer_write(std::ostream &) const; - /// - void glueall(); - /// - string nicelabel(row_type row) const; - + void normalize(NormalStream &) const; /// - MathInsetTypes objtype_; + void maple(MapleStream &) const; /// - std::vector nonum_; + void maxima(MaximaStream &) const; /// - std::vector label_; + void mathmlize(MathMLStream &) const; /// - mutable MathMetricsInfo mi_; + void octave(OctaveStream &) const; }; #endif