]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_matrixinset.h
Add In nsetOld * argument to updateInset to rebreak the correct par.
[lyx.git] / src / mathed / math_matrixinset.h
index d4e2b8ed58d002f108a656b839fa1a1a53a54c8d..50d7baccd3e5a458138908795bc52277ca3bb5aa 100644 (file)
 // -*- 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, int cols);
-       ///
-       MathInset * clone() const;
-       ///
-       void write(std::ostream &, bool fragile) const;
-       ///
-       void metrics(MathStyles st) const;
-       ///
-       void draw(Painter &, int x, int y) const;
-       ///
-       string label(int row) const;
-       ///
-       void label(int row, string const & label);
-       ///
-       void numbered(int row, bool num);
-       ///
-       bool numbered(int row) const;
-       ///
-       bool numberedType() const;
-       ///
-       bool display() const;
-       ///
-       bool ams() const;
+public:
        ///
-       std::vector<string> const getLabelList() const;
+       MathMatrixInset(MathGridInset const &);
        ///
-       void validate(LaTeXFeatures & features) const;
-
-       ///
-       void addRow(int);
-       ///
-       void delRow(int);
-       ///
-       void addCol(int);
-       ///
-       void delCol(int);
+       MathMatrixInset(string const & str);
        ///
-       void appendRow();
+       virtual std::auto_ptr<InsetBase> clone() const;
+       /// identifies MatrixInsets
+       MathMatrixInset const * asMatrixInset() const { return this; }
 
-       /// change type
-       void mutate(string const &);
        ///
-       void mutate(MathInsetTypes);
-
-       ///
-       int defaultColSpace(int col);
+       void write(WriteStream & os) const;
        ///
-       char defaultColAlign(int col);
-
+       void normalize(NormalStream &) const;
        ///
-       MathInsetTypes getType() const;
-
-private:
-       ///
-       void setDefaults();
-       ///
-       void setType(MathInsetTypes t);
-       ///
-       void validate1(LaTeXFeatures & features);
-       ///
-       void header_write(std::ostream &) const;
-       ///
-       void footer_write(std::ostream &) const;
-       ///
-       void glueall();
-       ///
-       string nicelabel(int row) const;
-
+       void maple(MapleStream &) const;
        ///
-       MathInsetTypes objtype_;
+       void maxima(MaximaStream &) const;
        ///
-       std::vector<int> nonum_;
+       void mathmlize(MathMLStream &) const;
        ///
-       std::vector<string> label_;
+       void octave(OctaveStream &) const;
 };
 
 #endif