-void Tabular::appendRow(row_type row)
-{
- row_info.insert(row_info.begin() + row + 1, RowData());
- row_info[row + 1] = row_info[row];
-
- cell_info.insert(cell_info.begin() + row + 1,
- cell_vector(ncols(), CellData(buffer_)));
- for (col_type c = 0; c < ncols(); ++c) {
- if (cell_info[row][c].multirow == CELL_BEGIN_OF_MULTIROW)
- cell_info[row + 1][c].multirow = CELL_PART_OF_MULTIROW;
- else
- cell_info[row + 1][c].multirow = cell_info[row][c].multirow;
- }
- updateIndexes();
-
- for (col_type c = 0; c < ncols(); ++c) {
- if (isPartOfMultiRow(row, c))
- continue;
- // inherit line settings
- idx_type const i = cellIndex(row + 1, c);
- idx_type const j = cellIndex(row, c);
- setLeftLine(i, leftLine(j));
- setRightLine(i, rightLine(j));
- setTopLine(i, topLine(j));
- if (topLine(j) && bottomLine(j)) {
- setBottomLine(i, true);
- setBottomLine(j, false);
- }
- // mark track changes
- if (buffer().params().trackChanges)
- cellInfo(i).inset->setChange(Change(Change::INSERTED));
- }
-}
-
-