summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-07-25 22:45:15 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-07-30 23:49:55 -0400
commitbb93f79249ac64bbd6d7a28d5bced7f02e1936ef (patch)
treed940253125e99f0604eb740c05f3d5e696eb0604 /sc/source
parent8eb6de29009d009b8fa61fa8bb0e3bc60c7bfdf9 (diff)
More on removing unused methods after some adjustments.
Change-Id: Ib8322228f25094c7c90a6623293e61f56b66b659
Diffstat (limited to 'sc/source')
-rw-r--r--sc/source/core/data/conditio.cxx9
-rw-r--r--sc/source/core/tool/compiler.cxx250
2 files changed, 3 insertions, 256 deletions
diff --git a/sc/source/core/data/conditio.cxx b/sc/source/core/data/conditio.cxx
index a3702c5e1150..3d60b0b91d0a 100644
--- a/sc/source/core/data/conditio.cxx
+++ b/sc/source/core/data/conditio.cxx
@@ -587,16 +587,13 @@ void ScConditionEntry::UpdateMoveTab( SCTAB nOldPos, SCTAB nNewPos )
{
if (pFormula1)
{
- ScCompiler aComp( mpDoc, aSrcPos, *pFormula1);
- aComp.SetGrammar(mpDoc->GetGrammar());
- aComp.UpdateMoveTab(nOldPos, nNewPos, true );
+ pFormula1->AdjustReferenceOnMovedTab(nOldPos, nNewPos, aSrcPos);
DELETEZ(pFCell1);
}
+
if (pFormula2)
{
- ScCompiler aComp( mpDoc, aSrcPos, *pFormula2);
- aComp.SetGrammar(mpDoc->GetGrammar());
- aComp.UpdateMoveTab(nOldPos, nNewPos, true );
+ pFormula2->AdjustReferenceOnMovedTab(nOldPos, nNewPos, aSrcPos);
DELETEZ(pFCell2);
}
}
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 6c5107bed655..4c17edf67a32 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -4359,256 +4359,6 @@ bool ScCompiler::UpdateNameReference(UpdateRefMode eUpdateRefMode,
return bRelRef;
}
-
-void ScCompiler::UpdateSharedFormulaReference( UpdateRefMode eUpdateRefMode,
- const ScAddress& rOldPos, const ScRange& r,
- SCsCOL nDx, SCsROW nDy, SCsTAB nDz )
-{
- if ( eUpdateRefMode == URM_COPY )
- return ;
- else
- {
- ScToken* t;
- pArr->Reset();
- while ( (t = static_cast<ScToken*>(pArr->GetNextReference())) != NULL )
- {
- if( t->GetType() != svIndex ) // it may be a DB area!!!
- {
- // Absolute references have been already adjusted in the named
- // shared formula itself prior to breaking the shared formula
- // and calling this function. Don't readjust them again.
- SingleDoubleRefModifier aMod( *t );
- ScComplexRefData& rRef = aMod.Ref();
- ScComplexRefData aBkp = rRef;
- ScRange aRefRange = rRef.toAbs(rOldPos);
- ScRange aBkpRange = aRefRange;
- ScRefUpdate::Update(pDoc, eUpdateRefMode, aPos, r, nDx, nDy, nDz, rRef, aRefRange);
- rRef.SetRange(aRefRange, rOldPos);
-
- // restore absolute parts
- if ( !aBkp.Ref1.IsColRel() )
- {
- rRef.Ref1.nCol = aBkpRange.aStart.Col();
- rRef.Ref1.SetColDeleted( aBkp.Ref1.IsColDeleted() );
- }
- if ( !aBkp.Ref1.IsRowRel() )
- {
- rRef.Ref1.nRow = aBkpRange.aStart.Row();
- rRef.Ref1.SetRowDeleted( aBkp.Ref1.IsRowDeleted() );
- }
- if ( !aBkp.Ref1.IsTabRel() )
- {
- rRef.Ref1.nTab = aBkpRange.aStart.Tab();
- rRef.Ref1.SetTabDeleted( aBkp.Ref1.IsTabDeleted() );
- }
- if ( t->GetType() == svDoubleRef )
- {
- if ( !aBkp.Ref2.IsColRel() )
- {
- rRef.Ref2.nCol = aBkpRange.aEnd.Col();
- rRef.Ref2.SetColDeleted( aBkp.Ref2.IsColDeleted() );
- }
- if ( !aBkp.Ref2.IsRowRel() )
- {
- rRef.Ref2.nRow = aBkpRange.aEnd.Row();
- rRef.Ref2.SetRowDeleted( aBkp.Ref2.IsRowDeleted() );
- }
- if ( !aBkp.Ref2.IsTabRel() )
- {
- rRef.Ref2.nTab = aBkpRange.aEnd.Tab();
- rRef.Ref2.SetTabDeleted( aBkp.Ref2.IsTabDeleted() );
- }
- }
- }
- }
- }
-}
-
-// aPos.Tab() must be already adjusted!
-ScRangeData* ScCompiler::UpdateMoveTab( SCTAB nOldTab, SCTAB nNewTab,
- bool bIsName )
-{
- ScRangeData* pRangeData = NULL;
- SCsTAB nTab;
-
- SCTAB nStart, nEnd;
- short nDir; // direction in which others move
- if ( nOldTab < nNewTab )
- {
- nDir = -1;
- nStart = nOldTab;
- nEnd = nNewTab;
- }
- else
- {
- nDir = 1;
- nStart = nNewTab;
- nEnd = nOldTab;
- }
- SCTAB nPosTab = aPos.Tab(); // current sheet
- SCTAB nOldPosTab; // previously it was this one
- if ( nPosTab == nNewTab )
- nOldPosTab = nOldTab; // look, it's me!
- else if ( nPosTab < nStart || nEnd < nPosTab )
- nOldPosTab = nPosTab; // wasn't moved
- else
- nOldPosTab = nPosTab - nDir; // moved by one
-
- 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;
- }
- }
- else if( t->GetType() != svIndex ) // it may be a DB area!!!
- {
- ScSingleRefData& rRef1 = t->GetSingleRef();
- if ( !(bIsName && rRef1.IsTabRel()) )
- { // of names only adjust absolute references
- if ( rRef1.IsTabRel() )
- nTab = rRef1.nRelTab + nOldPosTab;
- else
- nTab = rRef1.nTab;
- if ( nTab == nOldTab )
- rRef1.nTab = nNewTab;
- else if ( nStart <= nTab && nTab <= nEnd )
- rRef1.nTab = nTab + nDir;
- rRef1.nRelTab = rRef1.nTab - nPosTab;
- }
- else
- bIsRel = true;
- if ( t->GetType() == svDoubleRef )
- {
- ScSingleRefData& rRef2 = t->GetDoubleRef().Ref2;
- if ( !(bIsName && rRef2.IsTabRel()) )
- { // of names only adjust absolute references
- if ( rRef2.IsTabRel() )
- nTab = rRef2.nRelTab + nOldPosTab;
- else
- nTab = rRef2.nTab;
- if ( nTab == nOldTab )
- rRef2.nTab = nNewTab;
- else if ( nStart <= nTab && nTab <= nEnd )
- rRef2.nTab = nTab + nDir;
- rRef2.nRelTab = rRef2.nTab - nPosTab;
- }
- else
- bIsRel = true;
- SCsTAB nTab1, nTab2;
- if ( rRef1.IsTabRel() )
- nTab1 = rRef1.nRelTab + nPosTab;
- else
- nTab1 = rRef1.nTab;
- if ( rRef2.IsTabRel() )
- nTab2 = rRef2.nRelTab + nPosTab;
- else
- nTab2 = rRef2.nTab;
- if ( nTab2 < nTab1 )
- { // PutInOrder
- rRef1.nTab = nTab2;
- rRef2.nTab = nTab1;
- rRef1.nRelTab = rRef1.nTab - nPosTab;
- rRef2.nRelTab = rRef2.nTab - nPosTab;
- }
- }
- 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 )
- {
- SCsTAB nMaxTabMod = (SCsTAB) pDoc->GetTableCount();
- pArr->Reset();
- while ( (t = static_cast<ScToken*>(pArr->GetNextReferenceRPN())) != NULL )
- {
- if ( t->GetRef() == 1 )
- {
- ScSingleRefData& rRef1 = t->GetSingleRef();
- if ( rRef1.IsRelName() && rRef1.IsTabRel() )
- { // possibly wrap RelName, like lcl_MoveItWrap in refupdat.cxx
- nTab = rRef1.nRelTab + nPosTab;
- if ( nTab < 0 )
- nTab = sal::static_int_cast<SCsTAB>( nTab + nMaxTabMod );
- else if ( nTab > nMaxTab )
- nTab = sal::static_int_cast<SCsTAB>( nTab - nMaxTabMod );
- rRef1.nRelTab = nTab - nPosTab;
- }
- else
- {
- if ( rRef1.IsTabRel() )
- nTab = rRef1.nRelTab + nOldPosTab;
- else
- nTab = rRef1.nTab;
- if ( nTab == nOldTab )
- rRef1.nTab = nNewTab;
- else if ( nStart <= nTab && nTab <= nEnd )
- rRef1.nTab = nTab + nDir;
- rRef1.nRelTab = rRef1.nTab - nPosTab;
- }
- if( t->GetType() == svDoubleRef )
- {
- ScSingleRefData& rRef2 = t->GetDoubleRef().Ref2;
- if ( rRef2.IsRelName() && rRef2.IsTabRel() )
- { // possibly wrap RelName, like lcl_MoveItWrap in refupdat.cxx
- nTab = rRef2.nRelTab + nPosTab;
- if ( nTab < 0 )
- nTab = sal::static_int_cast<SCsTAB>( nTab + nMaxTabMod );
- else if ( nTab > nMaxTab )
- nTab = sal::static_int_cast<SCsTAB>( nTab - nMaxTabMod );
- rRef2.nRelTab = nTab - nPosTab;
- }
- else
- {
- if ( rRef2.IsTabRel() )
- nTab = rRef2.nRelTab + nOldPosTab;
- else
- nTab = rRef2.nTab;
- if ( nTab == nOldTab )
- rRef2.nTab = nNewTab;
- else if ( nStart <= nTab && nTab <= nEnd )
- rRef2.nTab = nTab + nDir;
- rRef2.nRelTab = rRef2.nTab - nPosTab;
- }
- SCsTAB nTab1, nTab2;
- if ( rRef1.IsTabRel() )
- nTab1 = rRef1.nRelTab + nPosTab;
- else
- nTab1 = rRef1.nTab;
- if ( rRef2.IsTabRel() )
- nTab2 = rRef2.nRelTab + nPosTab;
- else
- nTab2 = rRef2.nTab;
- if ( nTab2 < nTab1 )
- { // PutInOrder
- rRef1.nTab = nTab2;
- rRef2.nTab = nTab1;
- rRef1.nRelTab = rRef1.nTab - nPosTab;
- rRef2.nRelTab = rRef2.nTab - nPosTab;
- }
- }
- }
- }
- }
- return pRangeData;
-}
-
-
void ScCompiler::CreateStringFromExternal(OUStringBuffer& rBuffer, FormulaToken* pTokenP)
{
FormulaToken* t = pTokenP;