X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ftabular.C;h=711e5432ab5f1044e0fa8b5c219f034386ae6ad0;hb=35204f8f33d7400a5fefeffea533fb4cb4097211;hp=f5650493fd3de1394667da3a51e6f88ca033609a;hpb=6c300f72a217722652dc27db9108e1050028979c;p=lyx.git diff --git a/src/tabular.C b/src/tabular.C index f5650493fd..711e5432ab 100644 --- a/src/tabular.C +++ b/src/tabular.C @@ -499,7 +499,6 @@ void LyXTabular::appendRow(BufferParams const & bp, idx_type const cell) swap(cell_info[i], old[i - 1]); if (bp.trackChanges) - // FIXME: Change Tracking (MG) for (col_type j = 0; j < columns_; ++j) cell_info[row + 1][j].inset->setChange(Change(Change::INSERTED)); @@ -528,7 +527,6 @@ void LyXTabular::copyRow(BufferParams const & bp, row_type const row) cell_info.insert(cell_info.begin() + row, cell_info[row]); if (bp.trackChanges) - // FIXME: Change Tracking (MG) for (col_type j = 0; j < columns_; ++j) cell_info[row + 1][j].inset->setChange(Change(Change::INSERTED)); @@ -560,7 +558,6 @@ void LyXTabular::appendColumn(BufferParams const & bp, idx_type const cell) //++column; for (row_type i = 0; i < rows_; ++i) { cell_info[i][column + 1].inset->clear(); - // FIXME: Change Tracking (MG) if (bp.trackChanges) cell_info[i][column + 1].inset->setChange(Change(Change::INSERTED)); } @@ -592,7 +589,6 @@ void LyXTabular::copyColumn(BufferParams const & bp, col_type const column) cell_info[i].insert(cell_info[i].begin() + column, cell_info[i][column]); if (bp.trackChanges) - // FIXME: Change Tracking (MG) for (row_type i = 0; i < rows_; ++i) cell_info[i][column + 1].inset->setChange(Change(Change::INSERTED)); fixCellNums(); @@ -666,29 +662,29 @@ LyXTabular::idx_type LyXTabular::numberOfCellsInRow(idx_type const cell) const } -bool LyXTabular::topLine(idx_type const cell, bool const onlycolumn) const +bool LyXTabular::topLine(idx_type const cell, bool const wholerow) const { - if (!onlycolumn && isMultiColumn(cell) && + if (!wholerow && isMultiColumn(cell) && !(use_booktabs && row_of_cell(cell) == 0)) return cellinfo_of_cell(cell).top_line; return row_info[row_of_cell(cell)].top_line; } -bool LyXTabular::bottomLine(idx_type const cell, bool onlycolumn) const +bool LyXTabular::bottomLine(idx_type const cell, bool wholerow) const { - if (!onlycolumn && isMultiColumn(cell) && + if (!wholerow && isMultiColumn(cell) && !(use_booktabs && isLastRow(cell))) return cellinfo_of_cell(cell).bottom_line; return row_info[row_of_cell(cell)].bottom_line; } -bool LyXTabular::leftLine(idx_type cell, bool onlycolumn) const +bool LyXTabular::leftLine(idx_type cell, bool wholecolumn) const { if (use_booktabs) return false; - if (!onlycolumn && isMultiColumn(cell) && + if (!wholecolumn && isMultiColumn(cell) && (isFirstCellInRow(cell) || isMultiColumn(cell-1))) { if (cellinfo_of_cell(cell).align_special.empty()) @@ -701,11 +697,11 @@ bool LyXTabular::leftLine(idx_type cell, bool onlycolumn) const } -bool LyXTabular::rightLine(idx_type cell, bool onlycolumn) const +bool LyXTabular::rightLine(idx_type cell, bool wholecolumn) const { if (use_booktabs) return false; - if (!onlycolumn && isMultiColumn(cell) && + if (!wholecolumn && isMultiColumn(cell) && (isLastCellInRow(cell) || isMultiColumn(cell + 1))) { if (cellinfo_of_cell(cell).align_special.empty()) @@ -956,15 +952,14 @@ void toggleFixedWidth(LCursor & cur, InsetText * inset, bool fixedWidth) return; // merge all paragraphs to one - BufferParams const & bp = - inset->getText(0)->bv_owner->buffer()->params(); + BufferParams const & bp = cur.bv().buffer()->params(); while (inset->paragraphs().size() > 1) mergeParagraph(bp, inset->paragraphs(), 0); // reset layout cur.push(*inset); // undo information has already been recorded - inset->getText(0)->setLayout(0, cur.lastpit() + 1, + inset->getText(0)->setLayout(*cur.bv().buffer(), 0, cur.lastpit() + 1, bp.getLyXTextClass().defaultLayoutName()); cur.pop(); } @@ -1030,37 +1025,37 @@ void LyXTabular::setAllLines(idx_type cell, bool line) } -void LyXTabular::setTopLine(idx_type cell, bool line, bool onlycolumn) +void LyXTabular::setTopLine(idx_type cell, bool line, bool wholerow) { row_type const row = row_of_cell(cell); - if (onlycolumn || !isMultiColumn(cell)) + if (wholerow || !isMultiColumn(cell)) row_info[row].top_line = line; else cellinfo_of_cell(cell).top_line = line; } -void LyXTabular::setBottomLine(idx_type cell, bool line, bool onlycolumn) +void LyXTabular::setBottomLine(idx_type cell, bool line, bool wholerow) { - if (onlycolumn || !isMultiColumn(cell)) + if (wholerow || !isMultiColumn(cell)) row_info[row_of_cell(cell)].bottom_line = line; else cellinfo_of_cell(cell).bottom_line = line; } -void LyXTabular::setLeftLine(idx_type cell, bool line, bool onlycolumn) +void LyXTabular::setLeftLine(idx_type cell, bool line, bool wholecolumn) { - if (onlycolumn || !isMultiColumn(cell)) + if (wholecolumn || !isMultiColumn(cell)) column_info[column_of_cell(cell)].left_line = line; else cellinfo_of_cell(cell).left_line = line; } -void LyXTabular::setRightLine(idx_type cell, bool line, bool onlycolumn) +void LyXTabular::setRightLine(idx_type cell, bool line, bool wholecolumn) { - if (onlycolumn || !isMultiColumn(cell)) + if (wholecolumn || !isMultiColumn(cell)) column_info[right_column_of_cell(cell)].right_line = line; else cellinfo_of_cell(cell).right_line = line; @@ -2158,8 +2153,7 @@ int LyXTabular::TeXRow(odocstream & os, row_type i, Buffer const & buf, ret += TeXCellPostamble(os, cell); if (!isLastCellInRow(cell)) { // not last cell in row - os << "&\n"; - ++ret; + os << " & "; } ++cell; }