]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_arrayinset.C
whichFont down to 5.3%
[lyx.git] / src / mathed / math_arrayinset.C
index 2c6da9506ce21b6a24191c3aec86183167b81208..d0cd0094383bc354f5238c967aebaf26e39e26b5 100644 (file)
@@ -1,36 +1,41 @@
+#include <config.h>
+
 #ifdef __GNUG__
 #pragma implementation
 #endif
 
-#include <iterator>
-
 #include "math_arrayinset.h"
 #include "math_parser.h"
 #include "math_mathmlstream.h"
+#include "math_streamstr.h"
 #include "Lsstream.h"
 
+#include <iterator>
+
 using std::vector;
 using std::istringstream;
 using std::getline;
 
 
-MathArrayInset::MathArrayInset(int m, int n)
-       : MathGridInset(m, n)
+MathArrayInset::MathArrayInset(string const & name, int m, int n)
+       : MathGridInset(m, n), name_(name)
 {}
 
 
-MathArrayInset::MathArrayInset(int m, int n, char valign, string const & halign)
-       : MathGridInset(m, n, valign, halign)
+MathArrayInset::MathArrayInset(string const & name, int m, int n,
+               char valign, string const & halign)
+       : MathGridInset(m, n, valign, halign), name_(name)
 {}
 
 
-MathArrayInset::MathArrayInset(char valign, string const & halign)
-       : MathGridInset(valign, halign)
+MathArrayInset::MathArrayInset(string const & name, char valign,
+               string const & halign)
+       : MathGridInset(valign, halign), name_(name)
 {}
 
 
-MathArrayInset::MathArrayInset(string const & str)
-       : MathGridInset(1, 1)
+MathArrayInset::MathArrayInset(string const & name, string const & str)
+       : MathGridInset(1, 1), name_(name)
 {
        vector< vector<string> > dat;
        istringstream is(str.c_str());
@@ -73,23 +78,23 @@ void MathArrayInset::write(WriteStream & os) const
 {
        if (os.fragile())
                os << "\\protect";
-       os << "\\begin{array}";
+       os << "\\begin{" << name_ << "}";
 
        if (v_align_ == 't' || v_align_ == 'b') 
                os << '[' << char(v_align_) << ']';
-       os << '{' << halign().c_str() << "}\n";
+       os << '{' << halign() << "}\n";
 
        MathGridInset::write(os);
 
        if (os.fragile())
                os << "\\protect";
-       os << "\\end{array}\n";
+       os << "\\end{" << name_ << "}\n";
 }
 
 
 void MathArrayInset::normalize(NormalStream & os) const
 {
-       os << "[array ";
+       os << "[" << name_ << " ";
        MathGridInset::normalize(os);
        os << "]";
 }