]> git.lyx.org Git - features.git/commitdiff
multicolumn improvemnt
authorAndré Pönitz <poenitz@gmx.net>
Thu, 15 Aug 2002 18:04:01 +0000 (18:04 +0000)
committerAndré Pönitz <poenitz@gmx.net>
Thu, 15 Aug 2002 18:04:01 +0000 (18:04 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5004 a592a061-630c-0410-9148-cb99ea01b6c8

src/mathed/math_gridinset.C
src/mathed/math_gridinset.h
src/mathed/math_parser.C

index 7de23595a153b40c034162bf5174e8842e953c4c..57a30f4e41e0168a7d512643b7b82bf5352fd896 100644 (file)
@@ -534,9 +534,9 @@ string MathGridInset::eolString(row_type row, bool fragile) const
 }
 
 
-string MathGridInset::eocString(col_type col) const
+string MathGridInset::eocString(col_type col, col_type lastcol) const
 {
-       if (col + 1 == ncols())
+       if (col + 1 == lastcol)
                return string();
        return " & ";
 }
@@ -864,8 +864,12 @@ void MathGridInset::write(WriteStream & os) const
        for (row_type row = 0; row < nrows(); ++row) {
                os << verboseHLine(rowinfo_[row].lines_);
                // don't write & and empty cells at end of line
+               col_type lastcol = 0;
                for (col_type col = 0; col < ncols(); ++col)
-                       os << cell(index(row, col)) << eocString(col);
+                       if (!cell(index(row, col)).empty())
+                               lastcol = col + 1;
+               for (col_type col = 0; col < lastcol; ++col)
+                       os << cell(index(row, col)) << eocString(col, lastcol);
                os << eolString(row, os.fragile());
        }
        string const s = verboseHLine(rowinfo_[nrows()].lines_);
index cef894035a2b3da9d4f489e9511e3a77974aafa0..808735a29f4a01cddce289aaa75ffe31a54e2309 100644 (file)
@@ -218,7 +218,7 @@ protected:
        /// returns proper 'end of line' code for LaTeX
        virtual string eolString(row_type row, bool fragile = false) const;
        /// returns proper 'end of column' code for LaTeX
-       virtual string eocString(col_type col) const;
+       virtual string eocString(col_type col, col_type lastcol) const;
        /// extract number of columns from alignment string
        col_type guessColumns(string const & halign) const;
        /// splits cells and shifts right part to the next cell
index 0ea4cee7c238c5d41b5723734b0c960bae044664..36b279116822ce532967b89b9119fd5c3f855222 100644 (file)
@@ -853,7 +853,7 @@ void Parser::parse1(MathGridInset & grid, unsigned flags,
                        cell = &grid.cell(grid.index(cellrow, cellcol));
                }
 
-#if 1
+#if 0
                else if (t.cs() == "multicolumn") {
                        // extract column count and insert dummy cells
                        MathArray count;