void TXsheet::clearCells(int row, int col, int rowCount) { const TXshColumnP &column = m_imp->m_columnSet.getColumn(col); if (!column || column->isLocked()) return; TXshCellColumn *xshCellColumn = column->getCellColumn(); if (!xshCellColumn) return; int oldColRowCount = xshCellColumn->getMaxFrame() + 1; xshCellColumn->clearCells(row, rowCount); // aggiornamento framecount if (oldColRowCount == m_imp->m_frameCount) updateFrameCount(); }
void CellsMover::restoreColumns(int c) const { std::set<int> ii; for (int i = 0; i < m_colCount; i++) ii.insert(c + i); TXsheet *xsh = getXsheet(); for (int i = 0; i < m_colCount; i++) xsh->removeColumn(c); std::list<int> restoredSplineIds; m_columnsData->restoreObjects( ii, restoredSplineIds, xsh, StageObjectsData::eDoClone | StageObjectsData::eResetFxDagPositions); for (int i = 0; i < m_colCount; i++) { TXshColumn *column = xsh->getColumn(c + i); if (!column) continue; TXshCellColumn *cellColumn = column->getCellColumn(); if (!cellColumn) continue; int r0 = 0, r1 = -1; cellColumn->getRange(r0, r1); if (r0 <= r1) cellColumn->clearCells(r0, r1 - r0 + 1); } }