summaryrefslogtreecommitdiff
path: root/sc/source/core
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-07-25 22:35:47 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-07-30 23:49:55 -0400
commit8eb6de29009d009b8fa61fa8bb0e3bc60c7bfdf9 (patch)
tree1b8d4e518a0743fd8f7cf0db9511adaf9146d779 /sc/source/core
parentdf30ebee34f4af6a0dfe03a51cae530f59ffa1cf (diff)
Make this guy unused, and remove it.
Change-Id: Ib4a2f195b3ff1d291b0ffe99c27b1d3e807252d5
Diffstat (limited to 'sc/source/core')
-rw-r--r--sc/source/core/data/conditio.cxx12
-rw-r--r--sc/source/core/tool/compiler.cxx188
2 files changed, 6 insertions, 194 deletions
diff --git a/sc/source/core/data/conditio.cxx b/sc/source/core/data/conditio.cxx
index 7419f15a07d1..a3702c5e1150 100644
--- a/sc/source/core/data/conditio.cxx
+++ b/sc/source/core/data/conditio.cxx
@@ -544,12 +544,12 @@ void ScConditionEntry::UpdateReference( UpdateRefMode eUpdateRefMode,
lcl_CondUpdateInsertTab( *pFormula1, rRange.aStart.Tab(), bChanged1, nDz );
else
{
- ScCompiler aComp( mpDoc, aSrcPos, *pFormula1 );
- aComp.SetGrammar(mpDoc->GetGrammar());
if ( bDeleteTab )
- aComp.UpdateDeleteTab( rRange.aStart.Tab(), false, true, bChanged1, static_cast<SCTAB>(-1 * nDz) );
+ pFormula1->AdjustReferenceOnDeletedTab(rRange.aStart.Tab(), static_cast<SCTAB>(-1*nDz), aSrcPos);
else
{
+ ScCompiler aComp( mpDoc, aSrcPos, *pFormula1 );
+ aComp.SetGrammar(mpDoc->GetGrammar());
bool bSizeChanged;
aComp.UpdateReference( eUpdateRefMode, aOldSrcPos, rRange, nDx,
nDy, nDz, bChanged1, bSizeChanged );
@@ -566,12 +566,12 @@ void ScConditionEntry::UpdateReference( UpdateRefMode eUpdateRefMode,
lcl_CondUpdateInsertTab( *pFormula2, rRange.aStart.Tab(), bChanged2, nDz );
else
{
- ScCompiler aComp( mpDoc, aSrcPos, *pFormula2);
- aComp.SetGrammar(mpDoc->GetGrammar());
if ( bDeleteTab )
- aComp.UpdateDeleteTab( rRange.aStart.Tab(), false, true, bChanged2, static_cast<SCTAB>(-1*nDz) );
+ pFormula2->AdjustReferenceOnDeletedTab(rRange.aStart.Tab(), static_cast<SCTAB>(-1*nDz), aSrcPos);
else
{
+ ScCompiler aComp( mpDoc, aSrcPos, *pFormula2);
+ aComp.SetGrammar(mpDoc->GetGrammar());
bool bSizeChanged;
aComp.UpdateReference( eUpdateRefMode, aOldSrcPos, rRange, nDx,
nDy, nDz, bChanged2, bSizeChanged );
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index a2cc262f288d..6c5107bed655 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -4424,194 +4424,6 @@ void ScCompiler::UpdateSharedFormulaReference( UpdateRefMode eUpdateRefMode,
}
}
-ScRangeData* ScCompiler::UpdateDeleteTab(SCTAB nTable, bool /* bIsMove */, bool bIsName,
- bool& rChanged, SCTAB nSheets)
-{
- ScRangeData* pRangeData = NULL;
- SCTAB nTab, nTab2;
- SCTAB nPosTab = aPos.Tab(); // _after_ decremented!
- SCTAB nOldPosTab = ((nPosTab >= nTable) ? (nPosTab + nSheets) : nPosTab);
- rChanged = false;
- bool bIsRel = false;
- ScToken* t;
- pArr->Reset();
- if (bIsName)
- t = static_cast<ScToken*>(pArr->GetNextReference());
- else
- t = static_cast<ScToken*>(pArr->GetNextReferenceOrName());
- while( t )
- {
- if( t->GetOpCode() == ocName )
- {
- if (!bIsName)
- {
- ScRangeData* pName = GetRangeData( *t);
- if (pName && pName->HasType(RT_SHAREDMOD))
- pRangeData = pName;
- }
- rChanged = true;
- }
- else if( t->GetType() != svIndex ) // it may be a DB area!!!
- {
- if ( !(bIsName && t->GetSingleRef().IsTabRel()) )
- { // of names only adjust absolute references
- ScSingleRefData& rRef = t->GetSingleRef();
- if ( rRef.IsTabRel() )
- nTab = rRef.nTab = rRef.nRelTab + nOldPosTab;
- else
- nTab = rRef.nTab;
- if ( nTable < nTab )
- {
- rRef.nTab = nTab - nSheets;
- rChanged = true;
- }
- else if ( nTable == nTab )
- {
- if ( t->GetType() == svDoubleRef )
- {
- ScSingleRefData& rRef2 = t->GetDoubleRef().Ref2;
- if ( rRef2.IsTabRel() )
- nTab2 = rRef2.nRelTab + nOldPosTab;
- else
- nTab2 = rRef2.nTab;
- if ( nTab == nTab2
- || (nTab+nSheets) >= pDoc->GetTableCount() )
- {
- rRef.nTab = MAXTAB+1;
- rRef.SetTabDeleted( true );
- }
- // else: nTab later points to what's nTable+1 now
- // => area shrunk
- }
- else
- {
- rRef.nTab = MAXTAB+1;
- rRef.SetTabDeleted( true );
- }
- rChanged = true;
- }
- rRef.nRelTab = rRef.nTab - nPosTab;
- }
- else
- bIsRel = true;
- if ( t->GetType() == svDoubleRef )
- {
- if ( !(bIsName && t->GetDoubleRef().Ref2.IsTabRel()) )
- { // of names only adjust absolute references
- ScSingleRefData& rRef = t->GetDoubleRef().Ref2;
- if ( rRef.IsTabRel() )
- nTab = rRef.nTab = rRef.nRelTab + nOldPosTab;
- else
- nTab = rRef.nTab;
- if ( nTable < nTab )
- {
- rRef.nTab = nTab - nSheets;
- rChanged = true;
- }
- else if ( nTable == nTab )
- {
- if ( !t->GetDoubleRef().Ref1.IsTabDeleted() )
- rRef.nTab = nTab - nSheets; // shrink area
- else
- {
- rRef.nTab = MAXTAB+1;
- rRef.SetTabDeleted( true );
- }
- rChanged = true;
- }
- rRef.nRelTab = rRef.nTab - nPosTab;
- }
- else
- bIsRel = true;
- }
- if ( bIsName && bIsRel )
- pRangeData = (ScRangeData*) this; // not dereferenced in rangenam
- }
- if (bIsName)
- t = static_cast<ScToken*>(pArr->GetNextReference());
- else
- t = static_cast<ScToken*>(pArr->GetNextReferenceOrName());
- }
- if ( !bIsName )
- {
- pArr->Reset();
- while ( (t = static_cast<ScToken*>(pArr->GetNextReferenceRPN())) != NULL )
- {
- if ( t->GetRef() == 1 )
- {
- ScSingleRefData& rRef1 = t->GetSingleRef();
- if ( !(rRef1.IsRelName() && rRef1.IsTabRel()) )
- { // of names only adjust absolute references
- if ( rRef1.IsTabRel() )
- nTab = rRef1.nTab = rRef1.nRelTab + nOldPosTab;
- else
- nTab = rRef1.nTab;
- if ( nTable < nTab )
- {
- rRef1.nTab = nTab - nSheets;
- rChanged = true;
- }
- else if ( nTable == nTab )
- {
- if ( t->GetType() == svDoubleRef )
- {
- ScSingleRefData& rRef2 = t->GetDoubleRef().Ref2;
- if ( rRef2.IsTabRel() )
- nTab2 = rRef2.nRelTab + nOldPosTab;
- else
- nTab2 = rRef2.nTab;
- if ( nTab == nTab2
- || (nTab+1) >= pDoc->GetTableCount() )
- {
- rRef1.nTab = MAXTAB+1;
- rRef1.SetTabDeleted( true );
- }
- // else: nTab later points to what's nTable+1 now
- // => area shrunk
- }
- else
- {
- rRef1.nTab = MAXTAB+1;
- rRef1.SetTabDeleted( true );
- }
- rChanged = true;
- }
- rRef1.nRelTab = rRef1.nTab - nPosTab;
- }
- if ( t->GetType() == svDoubleRef )
- {
- ScSingleRefData& rRef2 = t->GetDoubleRef().Ref2;
- if ( !(rRef2.IsRelName() && rRef2.IsTabRel()) )
- { // of names only adjust absolute references
- if ( rRef2.IsTabRel() )
- nTab = rRef2.nTab = rRef2.nRelTab + nOldPosTab;
- else
- nTab = rRef2.nTab;
- if ( nTable < nTab )
- {
- rRef2.nTab = nTab - nSheets;
- rChanged = true;
- }
- else if ( nTable == nTab )
- {
- if ( !rRef1.IsTabDeleted() )
- rRef2.nTab = nTab - nSheets; // shrink area
- else
- {
- rRef2.nTab = MAXTAB+1;
- rRef2.SetTabDeleted( true );
- }
- rChanged = true;
- }
- rRef2.nRelTab = rRef2.nTab - nPosTab;
- }
- }
- }
- }
- }
- return pRangeData;
-}
-
// aPos.Tab() must be already adjusted!
ScRangeData* ScCompiler::UpdateMoveTab( SCTAB nOldTab, SCTAB nNewTab,
bool bIsName )