sc/inc/column.hxx | 1 + sc/source/core/data/column3.cxx | 13 ++++++++----- sc/source/core/data/table5.cxx | 5 ++--- 3 files changed, 11 insertions(+), 8 deletions(-)
New commits: commit f06d913f551ae666a7b4dd905391c388660b0ea1 Author: Kohei Yoshida <kohei.yosh...@gmail.com> Date: Mon Jul 15 14:55:02 2013 -0400 Try to consolidate broadcast calls originating from column or table. Change-Id: Ia13f81ab9a2d27e03ced95e18e9f5e6af939f9a0 diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx index b223a2d..5676568 100644 --- a/sc/inc/column.hxx +++ b/sc/inc/column.hxx @@ -486,6 +486,7 @@ public: void DeleteBroadcasters( sc::ColumnBlockPosition& rBlockPos, SCROW nRow1, SCROW nRow2 ); bool HasBroadcaster() const; + void Broadcast( SCROW nRow ); void BroadcastCells( const std::vector<SCROW>& rRows ); void InterpretDirtyCells( SCROW nRow1, SCROW nRow2 ); diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx index 5288cc5..83592fe 100644 --- a/sc/source/core/data/column3.cxx +++ b/sc/source/core/data/column3.cxx @@ -67,6 +67,12 @@ using ::com::sun::star::i18n::LocaleDataItem; extern const ScFormulaCell* pLastFormulaTreeTop; // in cellform.cxx using namespace formula; +void ScColumn::Broadcast( SCROW nRow ) +{ + ScHint aHint(SC_HINT_DATACHANGED, ScAddress(nCol, nRow, nTab)); + pDocument->Broadcast(aHint); +} + void ScColumn::BroadcastCells( const std::vector<SCROW>& rRows ) { if (rRows.empty()) @@ -113,9 +119,7 @@ void ScColumn::Delete( SCROW nRow ) maCells.set_empty(nRow, nRow); maCellTextAttrs.set_empty(nRow, nRow); - pDocument->Broadcast( - ScHint(SC_HINT_DATACHANGED, ScAddress(nCol, nRow, nTab))); - + Broadcast(nRow); CellStorageModified(); } @@ -411,8 +415,7 @@ void ScColumn::BroadcastNewCell( SCROW nRow ) if (pDocument->IsClipOrUndo() || pDocument->IsInsertingFromOtherDoc() || pDocument->IsCalcingAfterLoad()) return; - ScHint aHint(SC_HINT_DATACHANGED, ScAddress(nCol, nRow, nTab)); - pDocument->Broadcast(aHint); + Broadcast(nRow); } bool ScColumn::UpdateScriptType( sc::CellTextAttr& rAttr, SCROW nRow ) diff --git a/sc/source/core/data/table5.cxx b/sc/source/core/data/table5.cxx index 6d68aaf..7c667e0 100644 --- a/sc/source/core/data/table5.cxx +++ b/sc/source/core/data/table5.cxx @@ -1182,7 +1182,7 @@ void ScTable::InvalidateTextWidth( const ScAddress* pAdrFrom, const ScAddress* p switch (aCell.meType) { case CELLTYPE_VALUE : - pDocument->Broadcast(ScHint(SC_HINT_DATACHANGED, ScAddress(nCol, nRow, nTab))); + rCol.Broadcast(nRow); break; case CELLTYPE_FORMULA : aCell.mpFormula->SetDirty(); @@ -1222,8 +1222,7 @@ void ScTable::InvalidateTextWidth( const ScAddress* pAdrFrom, const ScAddress* p switch (aCell.meType) { case CELLTYPE_VALUE : - pDocument->Broadcast( - ScHint(SC_HINT_DATACHANGED, ScAddress(nCol, nRow, nTab))); + aCol[nCol].Broadcast(nRow); break; case CELLTYPE_FORMULA : aCell.mpFormula->SetDirty(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits