diff options
author | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-07-25 22:45:15 -0400 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-07-30 23:49:55 -0400 |
commit | bb93f79249ac64bbd6d7a28d5bced7f02e1936ef (patch) | |
tree | d940253125e99f0604eb740c05f3d5e696eb0604 /sc | |
parent | 8eb6de29009d009b8fa61fa8bb0e3bc60c7bfdf9 (diff) |
More on removing unused methods after some adjustments.
Change-Id: Ib8322228f25094c7c90a6623293e61f56b66b659
Diffstat (limited to 'sc')
-rw-r--r-- | sc/inc/compiler.hxx | 8 | ||||
-rw-r--r-- | sc/source/core/data/conditio.cxx | 9 | ||||
-rw-r--r-- | sc/source/core/tool/compiler.cxx | 250 |
3 files changed, 3 insertions, 264 deletions
diff --git a/sc/inc/compiler.hxx b/sc/inc/compiler.hxx index 687d544777ca..4792f79bfea3 100644 --- a/sc/inc/compiler.hxx +++ b/sc/inc/compiler.hxx @@ -451,14 +451,6 @@ public: SCsCOL nDx, SCsROW nDy, SCsTAB nDz, bool& rChanged, bool& rRefSizeChanged ); - /// Only once for converted shared formulas, - /// token array has to be compiled afterwards. - void UpdateSharedFormulaReference( UpdateRefMode eUpdateRefMode, - const ScAddress& rOldPos, const ScRange&, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); - - ScRangeData* UpdateMoveTab(SCTAB nOldPos, SCTAB nNewPos, bool bIsName ); - bool HasModifiedRange(); /** If the character is allowed as first character in sheet names or 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; |