diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2016-03-26 13:11:53 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2016-03-26 16:59:20 +0100 |
commit | 88a0c7d01b7dfd085a0569030f97cc7de0f0d106 (patch) | |
tree | e706da74450dd29814da83f52b4d131d742b8c74 /sc/source/core/data/documen7.cxx | |
parent | b41aed83c416a7b00285fc2b198d286d8169f08d (diff) |
switch to a listener based cond format update, tdf#95437
Change-Id: Iaee665a37a9637c40cd02a89a19240ade6e5af37
Diffstat (limited to 'sc/source/core/data/documen7.cxx')
-rw-r--r-- | sc/source/core/data/documen7.cxx | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/sc/source/core/data/documen7.cxx b/sc/source/core/data/documen7.cxx index 82afce2aeb27..98025ec8a36f 100644 --- a/sc/source/core/data/documen7.cxx +++ b/sc/source/core/data/documen7.cxx @@ -74,18 +74,6 @@ void ScDocument::Broadcast( const ScHint& rHint ) TrackFormulas( rHint.GetId() ); } - // Repaint for conditional formats with relative references: - for(SCTAB nTab = 0; nTab < static_cast<SCTAB>(maTabs.size()); ++nTab) - { - if(!maTabs[nTab]) - continue; - - ScConditionalFormatList* pCondFormList = GetCondFormList(nTab); - if ( pCondFormList && rHint.GetAddress() != BCA_BRDCST_ALWAYS ) - pCondFormList->SourceChanged( rHint.GetAddress() ); - - } - if ( rHint.GetAddress() != BCA_BRDCST_ALWAYS ) { SCTAB nTab = rHint.GetAddress().Tab(); @@ -131,32 +119,6 @@ void ScDocument::BroadcastCells( const ScRange& rRange, sal_uInt32 nHint, bool b TrackFormulas(nHint); } - // Repaint for conditional formats with relative references: - for (SCTAB nTab = nTab1; nTab <= nTab2; ++nTab) - { - ScTable* pTab = FetchTable(nTab); - if (!pTab) - continue; - - ScConditionalFormatList* pCondFormList = GetCondFormList(nTab); - if (pCondFormList && !pCondFormList->empty()) - { - /* TODO: looping over all possible cells is a terrible bottle neck, - * for each cell looping over all conditional formats even worse, - * this certainly needs a better method. */ - ScAddress aAddress( 0, 0, nTab); - for (SCROW nRow = nRow1; nRow <= nRow2; ++nRow) - { - aAddress.SetRow(nRow); - for (SCCOL nCol = nCol1; nCol <= nCol2; ++nCol) - { - aAddress.SetCol(nCol); - pCondFormList->SourceChanged(aAddress); - } - } - } - } - for (SCTAB nTab = nTab1; nTab <= nTab2; ++nTab) { ScTable* pTab = FetchTable(nTab); @@ -268,16 +230,6 @@ void ScDocument::AreaBroadcast( const ScHint& rHint ) if ( pBASM->AreaBroadcast( rHint ) ) TrackFormulas( rHint.GetId() ); } - - for(SCTAB nTab = 0; nTab < static_cast<SCTAB>(maTabs.size()); ++nTab) - { - if(!maTabs[nTab]) - continue; - - ScConditionalFormatList* pCondFormList = GetCondFormList(nTab); - if ( pCondFormList && rHint.GetAddress() != BCA_BRDCST_ALWAYS ) - pCondFormList->SourceChanged( rHint.GetAddress() ); - } } void ScDocument::DelBroadcastAreasInRange( const ScRange& rRange ) @@ -608,16 +560,6 @@ void ScDocument::TrackFormulas( sal_uInt32 nHintId ) if (pBC) pBC->Broadcast( aHint ); pBASM->AreaBroadcast( aHint ); - // Repaint for conditional formats with relative references: - TableContainer::iterator itr = maTabs.begin(); - for(; itr != maTabs.end(); ++itr) - { - if(!*itr) - continue; - ScConditionalFormatList* pCondFormList = (*itr)->GetCondFormList(); - if ( pCondFormList ) - pCondFormList->SourceChanged( pTrack->aPos ); - } // for "calculate" event, keep track of which sheets are affected by tracked formulas if ( bCalcEvent ) SetCalcNotification( pTrack->aPos.Tab() ); |