X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_arrayinset.C;h=d785b4cede6cb2707d87007380641cd5d78c058f;hb=c649284611c4198c9d70be8a16d153cdf1ec0700;hp=ab216d492f5a113f4040dac4befeba6cb15635ed;hpb=33a28bdc9cdf978601d5d40b693f13924801ad9e;p=lyx.git diff --git a/src/mathed/math_arrayinset.C b/src/mathed/math_arrayinset.C index ab216d492f..d785b4cede 100644 --- a/src/mathed/math_arrayinset.C +++ b/src/mathed/math_arrayinset.C @@ -15,33 +15,35 @@ using std::vector; using std::istringstream; using std::getline; +using std::istream_iterator; -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 > dat; istringstream is(str.c_str()); - while (is) { - string line; - getline(is, line); + string line; + while (getline(is, line)) { istringstream ls(line.c_str()); - typedef std::istream_iterator iter; + typedef istream_iterator iter; vector v = vector(iter(ls), iter()); if (v.size()) dat.push_back(v); @@ -52,7 +54,7 @@ MathArrayInset::MathArrayInset(string const & str) for (col_type col = 1; col < dat[0].size(); ++col) addCol(0); for (row_type row = 0; row < dat.size(); ++row) - for (col_type col = 0; col < dat[row].size(); ++col) + for (col_type col = 0; col < dat[0].size(); ++col) mathed_parse_cell(cell(index(row, col)), dat[row][col]); } @@ -63,12 +65,12 @@ MathInset * MathArrayInset::clone() const } -void MathArrayInset::metrics(MathMetricsInfo const & st) const +void MathArrayInset::metrics(MathMetricsInfo & mi) const { - MathMetricsInfo mi = st; - if (mi.style == LM_ST_DISPLAY) - mi.style = LM_ST_TEXT; - MathGridInset::metrics(mi); + MathMetricsInfo m = mi; + if (m.base.style == LM_ST_DISPLAY) + m.base.style = LM_ST_TEXT; + MathGridInset::metrics(m); } @@ -76,9 +78,9 @@ void MathArrayInset::write(WriteStream & os) const { if (os.fragile()) os << "\\protect"; - os << "\\begin{array}"; + os << "\\begin{" << name_ << "}"; - if (v_align_ == 't' || v_align_ == 'b') + if (v_align_ == 't' || v_align_ == 'b') os << '[' << char(v_align_) << ']'; os << '{' << halign() << "}\n"; @@ -86,13 +88,13 @@ void MathArrayInset::write(WriteStream & os) const 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 << "]"; }