summaryrefslogtreecommitdiff
path: root/sc/source/core/data/column3.cxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-06-25 12:29:46 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-06-27 15:47:54 -0400
commitb17237a7177e39f6611ccfc39e7758dd542f01e0 (patch)
treeb5ba0acfc194017cbc9dd353703cd6ed7b49061d /sc/source/core/data/column3.cxx
parent18cd17813ebf19ac247d2d8003c3b96fb8582d28 (diff)
Replace ScCellIterator with sc::ProcessFormula.
Change-Id: I0adf57e5e80972175633dd0c69d465544aa7d7a9
Diffstat (limited to 'sc/source/core/data/column3.cxx')
-rw-r--r--sc/source/core/data/column3.cxx15
1 files changed, 15 insertions, 0 deletions
diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index 4ec2bd873850..7251bbd7c0cc 100644
--- a/sc/source/core/data/column3.cxx
+++ b/sc/source/core/data/column3.cxx
@@ -115,6 +115,21 @@ void ScColumn::EndFormulaListening( sc::ColumnBlockPosition& rBlockPos, SCROW nR
sc::ProcessFormula(rBlockPos.miCellPos, maCells, nRow1, nRow2, aFunc);
}
+struct DirtyCellInterpreter
+{
+ void operator() (size_t, ScFormulaCell* p)
+ {
+ if (p->GetDirty())
+ p->Interpret();
+ }
+};
+
+void ScColumn::InterpretDirtyCells( SCROW nRow1, SCROW nRow2 )
+{
+ DirtyCellInterpreter aFunc;
+ sc::ProcessFormula(maCells.begin(), maCells, nRow1, nRow2, aFunc);
+}
+
void ScColumn::Delete( SCROW nRow )
{
std::pair<sc::CellStoreType::iterator,size_t> aPos = maCells.position(nRow);