diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-03-07 14:17:38 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2018-03-10 19:22:01 +0100 |
commit | 6529cd54c29c5800340530a1b8182c341fbeeafb (patch) | |
tree | 2b09ee9429a0759b8104575aa97e1f4aeadd443e /sc/source/ui | |
parent | 4ea605cb5c31fe4c7d3931a656782a652b4d96fc (diff) |
don't use heap for elements in ScRangeList
no need to store small objects like this out of line.
Also
- add move constructor and move assignment operator
- drop Assign method since it now has the same
signature as push_back
Change-Id: I9a8647d3a11f24166a83d399a358a2bce3b2cb79
Reviewed-on: https://gerrit.libreoffice.org/50899
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'sc/source/ui')
60 files changed, 481 insertions, 526 deletions
diff --git a/sc/source/ui/Accessibility/AccessibleCell.cxx b/sc/source/ui/Accessibility/AccessibleCell.cxx index e589d1dbfa24..3093137bb3a2 100644 --- a/sc/source/ui/Accessibility/AccessibleCell.cxx +++ b/sc/source/ui/Accessibility/AccessibleCell.cxx @@ -588,7 +588,7 @@ bool ScAccessibleCell::IsDropdown() SCTAB nRangeCount = aRanges.size(); for (i=0; i<nRangeCount; i++) { - ScRange aRange = *aRanges[i]; + ScRange aRange = aRanges[i]; mpDoc->ExtendTotalMerge( aRange ); bool bTextBelow = ( aRange.aStart.Row() == 0 ); // MT IA2: Not used: sal_Bool bIsInScen = sal_False; diff --git a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx index 0111d548bc69..09b7f6153865 100644 --- a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx +++ b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx @@ -54,16 +54,13 @@ ScMyAddress ScAccessibleSpreadsheet::CalcScAddressFromRangeList(ScRangeList *pMa { if (pMarkedRanges->size() <= 1) { - ScRange* pRange = pMarkedRanges->front(); - if (pRange) - { - // MT IA2: Not used. - // const int nRowNum = pRange->aEnd.Row() - pRange->aStart.Row() + 1; - const int nColNum = pRange->aEnd.Col() - pRange->aStart.Col() + 1; - const int nCurCol = nSelectedChildIndex % nColNum; - const int nCurRow = (nSelectedChildIndex - nCurCol)/nColNum; - return ScMyAddress(static_cast<SCCOL>(pRange->aStart.Col() + nCurCol), pRange->aStart.Row() + nCurRow, maActiveCell.Tab()); - } + ScRange const & rRange = pMarkedRanges->front(); + // MT IA2: Not used. + // const int nRowNum = rRange.aEnd.Row() - rRange.aStart.Row() + 1; + const int nColNum = rRange.aEnd.Col() - rRange.aStart.Col() + 1; + const int nCurCol = nSelectedChildIndex % nColNum; + const int nCurRow = (nSelectedChildIndex - nCurCol)/nColNum; + return ScMyAddress(static_cast<SCCOL>(rRange.aStart.Col() + nCurCol), rRange.aStart.Row() + nCurRow, maActiveCell.Tab()); } else { @@ -73,24 +70,24 @@ ScMyAddress ScAccessibleSpreadsheet::CalcScAddressFromRangeList(ScRangeList *pMa size_t nSize = pMarkedRanges->size(); for (size_t i = 0; i < nSize; ++i) { - ScRange* pRange = (*pMarkedRanges)[i]; - if (pRange->aStart.Tab() != pRange->aEnd.Tab()) + ScRange const & rRange = (*pMarkedRanges)[i]; + if (rRange.aStart.Tab() != rRange.aEnd.Tab()) { - if ((maActiveCell.Tab() >= pRange->aStart.Tab()) || - maActiveCell.Tab() <= pRange->aEnd.Tab()) + if ((maActiveCell.Tab() >= rRange.aStart.Tab()) || + maActiveCell.Tab() <= rRange.aEnd.Tab()) { - m_vecTempRange.push_back(pRange); - nMinRow = std::min(pRange->aStart.Row(),nMinRow); - nMaxRow = std::max(pRange->aEnd.Row(),nMaxRow); + m_vecTempRange.push_back(rRange); + nMinRow = std::min(rRange.aStart.Row(),nMinRow); + nMaxRow = std::max(rRange.aEnd.Row(),nMaxRow); } else SAL_WARN("sc", "Range of wrong table"); } - else if(pRange->aStart.Tab() == maActiveCell.Tab()) + else if(rRange.aStart.Tab() == maActiveCell.Tab()) { - m_vecTempRange.push_back(pRange); - nMinRow = std::min(pRange->aStart.Row(),nMinRow); - nMaxRow = std::max(pRange->aEnd.Row(),nMaxRow); + m_vecTempRange.push_back(rRange); + nMinRow = std::min(rRange.aStart.Row(),nMinRow); + nMaxRow = std::max(rRange.aEnd.Row(),nMaxRow); } else SAL_WARN("sc", "Range of wrong table"); @@ -103,10 +100,10 @@ ScMyAddress ScAccessibleSpreadsheet::CalcScAddressFromRangeList(ScRangeList *pMa VEC_RANGE::const_iterator vi = m_vecTempRange.begin(); for (; vi < m_vecTempRange.end(); ++vi) { - ScRange *p = *vi; - if ( row >= p->aStart.Row() && row <= p->aEnd.Row()) + ScRange const & r = *vi; + if ( row >= r.aStart.Row() && row <= r.aEnd.Row()) { - m_vecTempCol.emplace_back(p->aStart.Col(),p->aEnd.Col()); + m_vecTempCol.emplace_back(r.aStart.Col(),r.aEnd.Col()); } } } @@ -129,46 +126,46 @@ ScMyAddress ScAccessibleSpreadsheet::CalcScAddressFromRangeList(ScRangeList *pMa return ScMyAddress(0,0,maActiveCell.Tab()); } -bool ScAccessibleSpreadsheet::CalcScRangeDifferenceMax(const ScRange *pSrc, const ScRange *pDest, int nMax, VEC_MYADDR &vecRet, int &nSize) +bool ScAccessibleSpreadsheet::CalcScRangeDifferenceMax(const ScRange & rSrc, const ScRange & rDest, int nMax, VEC_MYADDR &vecRet, int &nSize) { //Src Must be :Src > Dest - if (pDest->In(*pSrc)) + if (rDest.In(rSrc)) {//Here is Src In Dest,Src <= Dest return false; } - if (!pDest->Intersects(*pSrc)) + if (!rDest.Intersects(rSrc)) { - int nCellCount = sal_uInt32(pDest->aEnd.Col() - pDest->aStart.Col() + 1) - * sal_uInt32(pDest->aEnd.Row() - pDest->aStart.Row() + 1) - * sal_uInt32(pDest->aEnd.Tab() - pDest->aStart.Tab() + 1); + int nCellCount = sal_uInt32(rDest.aEnd.Col() - rDest.aStart.Col() + 1) + * sal_uInt32(rDest.aEnd.Row() - rDest.aStart.Row() + 1) + * sal_uInt32(rDest.aEnd.Tab() - rDest.aStart.Tab() + 1); if (nCellCount + nSize > nMax) { return true; } else if(nCellCount > 0) { - for (sal_Int32 row = pDest->aStart.Row(); row <= pDest->aEnd.Row();++row) + for (sal_Int32 row = rDest.aStart.Row(); row <= rDest.aEnd.Row();++row) { - for (sal_uInt16 col = pDest->aStart.Col(); col <= pDest->aEnd.Col();++col) + for (sal_uInt16 col = rDest.aStart.Col(); col <= rDest.aEnd.Col();++col) { - vecRet.emplace_back(col,row,pDest->aStart.Tab()); + vecRet.emplace_back(col,row,rDest.aStart.Tab()); } } } return false; } - sal_Int32 nMinRow = pSrc->aStart.Row(); - sal_Int32 nMaxRow = pSrc->aEnd.Row(); + sal_Int32 nMinRow = rSrc.aStart.Row(); + sal_Int32 nMaxRow = rSrc.aEnd.Row(); for (; nMinRow <= nMaxRow ; ++nMinRow,--nMaxRow) { - for (sal_uInt16 col = pSrc->aStart.Col(); col <= pSrc->aEnd.Col();++col) + for (sal_uInt16 col = rSrc.aStart.Col(); col <= rSrc.aEnd.Col();++col) { if (nSize > nMax) { return true; } - ScMyAddress cell(col,nMinRow,pSrc->aStart.Tab()); - if(!pDest->In(cell)) + ScMyAddress cell(col,nMinRow,rSrc.aStart.Tab()); + if(!rDest.In(cell)) {//In Src ,Not In Dest vecRet.push_back(cell); ++nSize; @@ -176,14 +173,14 @@ bool ScAccessibleSpreadsheet::CalcScRangeDifferenceMax(const ScRange *pSrc, cons } if (nMinRow != nMaxRow) { - for (sal_uInt16 col = pSrc->aStart.Col(); col <= pSrc->aEnd.Col();++col) + for (sal_uInt16 col = rSrc.aStart.Col(); col <= rSrc.aEnd.Col();++col) { if (nSize > nMax) { return true; } - ScMyAddress cell(col,nMaxRow,pSrc->aStart.Tab()); - if(!pDest->In(cell)) + ScMyAddress cell(col,nMaxRow,rSrc.aStart.Tab()); + if(!rDest.In(cell)) {//In Src ,Not In Dest vecRet.push_back(cell); ++nSize; @@ -213,12 +210,12 @@ bool ScAccessibleSpreadsheet::CalcScRangeListDifferenceMax(ScRangeList *pSrc,ScR size_t nSrcSize = pSrc->size(); for (size_t i = 0; i < nSrcSize; ++i) { - ScRange* pRange = (*pSrc)[i]; - for (sal_Int32 row = pRange->aStart.Row(); row <= pRange->aEnd.Row();++row) + ScRange const & rRange = (*pSrc)[i]; + for (sal_Int32 row = rRange.aStart.Row(); row <= rRange.aEnd.Row();++row) { - for (sal_uInt16 col = pRange->aStart.Col(); col <= pRange->aEnd.Col();++col) + for (sal_uInt16 col = rRange.aStart.Col(); col <= rRange.aEnd.Col();++col) { - vecRet.emplace_back(col,row,pRange->aStart.Tab()); + vecRet.emplace_back(col,row, rRange.aStart.Tab()); } } } @@ -229,12 +226,12 @@ bool ScAccessibleSpreadsheet::CalcScRangeListDifferenceMax(ScRangeList *pSrc,ScR size_t nSizeSrc = pSrc->size(); for (size_t i = 0; i < nSizeSrc; ++i) { - ScRange* pRange = (*pSrc)[i]; + ScRange const & rRange = (*pSrc)[i]; size_t nSizeDest = pDest->size(); for (size_t j = 0; j < nSizeDest; ++j) { - ScRange* pRangeDest = (*pDest)[j]; - if (CalcScRangeDifferenceMax(pRange,pRangeDest,nMax,vecRet,nSize)) + ScRange const & rRangeDest = (*pDest)[j]; + if (CalcScRangeDifferenceMax(rRange,rRangeDest,nMax,vecRet,nSize)) { return true; } diff --git a/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx b/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx index 7cb152023474..f6613f63d2e2 100644 --- a/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx @@ -66,7 +66,7 @@ OUString lclCreateMultiParameterFormula( OUString aResult; for (size_t i = 0; i < aRangeList.size(); i++) { - OUString aRangeString(aRangeList[i]->Format(ScRefFlags::RANGE_ABS, pDocument, aAddressDetails)); + OUString aRangeString(aRangeList[i].Format(ScRefFlags::RANGE_ABS, pDocument, aAddressDetails)); OUString aFormulaString = aFormulaTemplate.replaceAll(aWildcard, aRangeString); aResult += aFormulaString; if(i != aRangeList.size() - 1) // Not Last @@ -86,7 +86,7 @@ void lclMakeSubRangesList(ScRangeList& rRangeList, const ScRange& rInputRange, S for( ; pIterator->hasNext(); pIterator->next() ) { ScRange aRange = pIterator->get(); - rRangeList.Append(aRange); + rRangeList.push_back(aRange); } } @@ -170,9 +170,9 @@ void ScAnalysisOfVarianceDialog::RowColumn(ScRangeList& rRangeList, AddressWalke { for (size_t i = 0; i < rRangeList.size(); i++) { - ScRange* pRange = rRangeList[i]; + ScRange const & rRange = rRangeList[i]; aTemplate.setTemplate(sFormula); - aTemplate.applyRange(strWildcardRange, *pRange); + aTemplate.applyRange(strWildcardRange, rRange); aOutput.writeFormula(aTemplate.getTemplate()); if (pResultRange != nullptr) pResultRange->aEnd = aOutput.current(); @@ -249,7 +249,7 @@ void ScAnalysisOfVarianceDialog::AnovaSingleFactor(AddressWalkerWriter& output, } output.nextRow(); - aTemplate.autoReplaceRange("%FIRST_COLUMN%", *aRangeList[0]); + aTemplate.autoReplaceRange("%FIRST_COLUMN%", aRangeList[0]); // Between Groups { @@ -416,8 +416,8 @@ void ScAnalysisOfVarianceDialog::AnovaTwoFactor(AddressWalkerWriter& output, For // Setup auto-replace strings aTemplate.autoReplaceRange(strWildcardRange, mInputRange); - aTemplate.autoReplaceRange("%FIRST_COLUMN%", *aColumnRangeList[0]); - aTemplate.autoReplaceRange("%FIRST_ROW%", *aRowRangeList[0]); + aTemplate.autoReplaceRange("%FIRST_COLUMN%", aColumnRangeList[0]); + aTemplate.autoReplaceRange("%FIRST_ROW%", aRowRangeList[0]); // Rows { diff --git a/sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx b/sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx index 63422289e905..98d022ca7880 100644 --- a/sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx +++ b/sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx @@ -38,8 +38,8 @@ namespace if (j >= i) { aTemplate.setTemplate(aTemplateString); - aTemplate.applyRange("%VAR1%", *aRangeList[i]); - aTemplate.applyRange("%VAR2%", *aRangeList[j]); + aTemplate.applyRange("%VAR1%", aRangeList[i]); + aTemplate.applyRange("%VAR2%", aRangeList[j]); aOutput.writeFormula(aTemplate.getTemplate()); } aOutput.nextRow(); diff --git a/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx b/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx index 7c4ca722568e..b654beae5c29 100644 --- a/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx @@ -361,7 +361,7 @@ IMPL_LINK_NOARG(ScRandomNumberGeneratorDialog, InputRangeModified, Edit&, void) { ScRangeList aRangeList; bool bValid = ParseWithNames( aRangeList, mpInputRangeEdit->GetText(), mpDoc); - const ScRange* pRange = (bValid && aRangeList.size() == 1) ? aRangeList[0] : nullptr; + const ScRange* pRange = (bValid && aRangeList.size() == 1) ? &aRangeList[0] : nullptr; if (pRange) { maInputRange = *pRange; diff --git a/sc/source/ui/StatisticsDialogs/SamplingDialog.cxx b/sc/source/ui/StatisticsDialogs/SamplingDialog.cxx index 106fa504e233..42887148cf8d 100644 --- a/sc/source/ui/StatisticsDialogs/SamplingDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/SamplingDialog.cxx @@ -344,7 +344,7 @@ IMPL_LINK_NOARG(ScSamplingDialog, RefInputModifyHandler, Edit&, void) { ScRangeList aRangeList; bool bValid = ParseWithNames( aRangeList, mpInputRangeEdit->GetText(), mDocument); - const ScRange* pRange = (bValid && aRangeList.size() == 1) ? aRangeList[0] : nullptr; + const ScRange* pRange = (bValid && aRangeList.size() == 1) ? &aRangeList[0] : nullptr; if (pRange) { mInputRange = *pRange; @@ -360,7 +360,7 @@ IMPL_LINK_NOARG(ScSamplingDialog, RefInputModifyHandler, Edit&, void) { ScRangeList aRangeList; bool bValid = ParseWithNames( aRangeList, mpOutputRangeEdit->GetText(), mDocument); - const ScRange* pRange = (bValid && aRangeList.size() == 1) ? aRangeList[0] : nullptr; + const ScRange* pRange = (bValid && aRangeList.size() == 1) ? &aRangeList[0] : nullptr; if (pRange) { mOutputAddress = pRange->aStart; diff --git a/sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx b/sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx index 6b17b50f86cd..50645199cd07 100644 --- a/sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx @@ -33,7 +33,7 @@ ScRangeList ScStatisticsInputOutputDialog::MakeColumnRangeList(SCTAB aTab, ScAdd ScAddress(inCol, aStart.Row(), aTab), ScAddress(inCol, aEnd.Row(), aTab) ); - aRangeList.Append(aColumnRange); + aRangeList.push_back(aColumnRange); } return aRangeList; } @@ -47,7 +47,7 @@ ScRangeList ScStatisticsInputOutputDialog::MakeRowRangeList(SCTAB aTab, ScAddres ScAddress(aStart.Col(), inRow, aTab), ScAddress(aEnd.Col(), inRow, aTab) ); - aRangeList.Append(aRowRange); + aRangeList.push_back(aRowRange); } return aRangeList; } @@ -233,7 +233,7 @@ IMPL_LINK_NOARG( ScStatisticsInputOutputDialog, RefInputModifyHandler, Edit&, vo { ScRangeList aRangeList; bool bValid = ParseWithNames( aRangeList, mpInputRangeEdit->GetText(), mDocument); - const ScRange* pRange = (bValid && aRangeList.size() == 1) ? aRangeList[0] : nullptr; + const ScRange* pRange = (bValid && aRangeList.size() == 1) ? &aRangeList[0] : nullptr; if (pRange) { mInputRange = *pRange; @@ -249,7 +249,7 @@ IMPL_LINK_NOARG( ScStatisticsInputOutputDialog, RefInputModifyHandler, Edit&, vo { ScRangeList aRangeList; bool bValid = ParseWithNames( aRangeList, mpOutputRangeEdit->GetText(), mDocument); - const ScRange* pRange = (bValid && aRangeList.size() == 1) ? aRangeList[0] : nullptr; + const ScRange* pRange = (bValid && aRangeList.size() == 1) ? &aRangeList[0] : nullptr; if (pRange) { mOutputAddress = pRange->aStart; diff --git a/sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx b/sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx index 163044c68d90..0fa8c96f0333 100644 --- a/sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx +++ b/sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx @@ -256,7 +256,7 @@ IMPL_LINK_NOARG( ScStatisticsTwoVariableDialog, RefInputModifyHandler, Edit&, vo { ScRangeList aRangeList; bool bValid = ParseWithNames( aRangeList, mpVariable1RangeEdit->GetText(), mDocument); - const ScRange* pRange = (bValid && aRangeList.size() == 1) ? aRangeList[0] : nullptr; + const ScRange* pRange = (bValid && aRangeList.size() == 1) ? &aRangeList[0] : nullptr; if (pRange) { mVariable1Range = *pRange; @@ -272,7 +272,7 @@ IMPL_LINK_NOARG( ScStatisticsTwoVariableDialog, RefInputModifyHandler, Edit&, vo { ScRangeList aRangeList; bool bValid = ParseWithNames( aRangeList, mpVariable2RangeEdit->GetText(), mDocument); - const ScRange* pRange = (bValid && aRangeList.size() == 1) ? aRangeList[0] : nullptr; + const ScRange* pRange = (bValid && aRangeList.size() == 1) ? &aRangeList[0] : nullptr; if (pRange) { mVariable2Range = *pRange; @@ -288,7 +288,7 @@ IMPL_LINK_NOARG( ScStatisticsTwoVariableDialog, RefInputModifyHandler, Edit&, vo { ScRangeList aRangeList; bool bValid = ParseWithNames( aRangeList, mpOutputRangeEdit->GetText(), mDocument); - const ScRange* pRange = (bValid && aRangeList.size() == 1) ? aRangeList[0] : nullptr; + const ScRange* pRange = (bValid && aRangeList.size() == 1) ? &aRangeList[0] : nullptr; if (pRange) { mOutputAddress = pRange->aStart; diff --git a/sc/source/ui/condformat/condformatdlg.cxx b/sc/source/ui/condformat/condformatdlg.cxx index b162591cc129..fa5676961b29 100644 --- a/sc/source/ui/condformat/condformatdlg.cxx +++ b/sc/source/ui/condformat/condformatdlg.cxx @@ -542,8 +542,7 @@ ScCondFormatDlg::ScCondFormatDlg(SfxBindings* pB, SfxChildWindow* pCW, if(aRange.empty()) { ScAddress aPos(mpViewData->GetCurX(), mpViewData->GetCurY(), mpViewData->GetTabNo()); - ScRange* pRange = new ScRange(aPos); - aRange.push_back(pRange); + aRange.push_back(ScRange(aPos)); } mnKey = 0; } diff --git a/sc/source/ui/dialogs/searchresults.cxx b/sc/source/ui/dialogs/searchresults.cxx index f72bb7423388..374ce58407d4 100644 --- a/sc/source/ui/dialogs/searchresults.cxx +++ b/sc/source/ui/dialogs/searchresults.cxx @@ -107,17 +107,17 @@ void SearchResultsDlg::FillResults( ScDocument* pDoc, const ScRangeList &rMatche /* TODO: a CellNotes iterator would come handy and might speed * things up a little, though we only loop through the * search/replace result positions here. */ - ScRange aRange( *rMatchedRanges[i] ); + ScRange const & rRange( rMatchedRanges[i] ); // Bear in mind that mostly the range is one address position // or a column or a row joined. - ScAddress aPos( aRange.aStart ); - for ( ; aPos.Tab() <= aRange.aEnd.Tab(); aPos.IncTab()) + ScAddress aPos( rRange.aStart ); + for ( ; aPos.Tab() <= rRange.aEnd.Tab(); aPos.IncTab()) { if (aPos.Tab() >= nTabCount) break; // can this even happen? we just searched on existing sheets ... - for (aPos.SetCol( aRange.aStart.Col()); aPos.Col() <= aRange.aEnd.Col(); aPos.IncCol()) + for (aPos.SetCol( rRange.aStart.Col()); aPos.Col() <= rRange.aEnd.Col(); aPos.IncCol()) { - for (aPos.SetRow( aRange.aStart.Row()); aPos.Row() <= aRange.aEnd.Row(); aPos.IncRow()) + for (aPos.SetRow( rRange.aStart.Row()); aPos.Row() <= rRange.aEnd.Row(); aPos.IncRow()) { const ScPostIt* pNote = pDoc->GetNote( aPos); if (pNote) @@ -133,7 +133,7 @@ void SearchResultsDlg::FillResults( ScDocument* pDoc, const ScRangeList &rMatche { for (size_t i = 0, n = nMatchMax; i < n; ++i) { - ScCellIterator aIter(pDoc, *rMatchedRanges[i]); + ScCellIterator aIter(pDoc, rMatchedRanges[i]); for (bool bHas = aIter.first(); bHas; bHas = aIter.next()) { ScAddress aPos = aIter.GetPos(); diff --git a/sc/source/ui/docshell/arealink.cxx b/sc/source/ui/docshell/arealink.cxx index e9ce36f11ac9..3e719dfb68f9 100644 --- a/sc/source/ui/docshell/arealink.cxx +++ b/sc/source/ui/docshell/arealink.cxx @@ -281,7 +281,7 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter, SCROW nEndRow = 0; if (rSrcDoc.GetCellArea( 0, nEndCol, nEndRow)) { - aSourceRanges.Append( ScRange( 0,0,0, nEndCol, nEndRow, 0)); + aSourceRanges.push_back( ScRange( 0,0,0, nEndCol, nEndRow, 0)); nWidth = nEndCol + 1; nHeight = nEndRow + 2; } @@ -295,7 +295,7 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter, ScRange aTokenRange; if( FindExtRange( aTokenRange, &rSrcDoc, aToken ) ) { - aSourceRanges.Append( aTokenRange); + aSourceRanges.push_back( aTokenRange); // columns: find maximum nWidth = std::max( nWidth, static_cast<SCCOL>(aTokenRange.aEnd.Col() - aTokenRange.aStart.Col() + 1) ); // rows: add row range + 1 empty row @@ -373,13 +373,13 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter, ScRange aNewTokenRange( aNewRange.aStart ); for (size_t nRange = 0; nRange < aSourceRanges.size(); ++nRange) { - ScRange aTokenRange( *aSourceRanges[nRange]); - SCTAB nSrcTab = aTokenRange.aStart.Tab(); + ScRange const & rTokenRange( aSourceRanges[nRange]); + SCTAB nSrcTab = rTokenRange.aStart.Tab(); ScMarkData aSourceMark; aSourceMark.SelectOneTable( nSrcTab ); // selecting for CopyToClip - aSourceMark.SetMarkArea( aTokenRange ); + aSourceMark.SetMarkArea( rTokenRange ); - ScClipParam aClipParam(aTokenRange, false); + ScClipParam aClipParam(rTokenRange, false); rSrcDoc.CopyToClip(aClipParam, &aClipDoc, &aSourceMark, false, false); if ( aClipDoc.HasAttrib( 0,0,nSrcTab, MAXCOL,MAXROW,nSrcTab, @@ -393,8 +393,8 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter, aClipDoc.ApplyPatternAreaTab( 0,0, MAXCOL,MAXROW, nSrcTab, aPattern ); } - aNewTokenRange.aEnd.SetCol( aNewTokenRange.aStart.Col() + (aTokenRange.aEnd.Col() - aTokenRange.aStart.Col()) ); - aNewTokenRange.aEnd.SetRow( aNewTokenRange.aStart.Row() + (aTokenRange.aEnd.Row() - aTokenRange.aStart.Row()) ); + aNewTokenRange.aEnd.SetCol( aNewTokenRange.aStart.Col() + (rTokenRange.aEnd.Col() - rTokenRange.aStart.Col()) ); + aNewTokenRange.aEnd.SetRow( aNewTokenRange.aStart.Row() + (rTokenRange.aEnd.Row() - rTokenRange.aStart.Row()) ); ScMarkData aDestMark; aDestMark.SelectOneTable( nDestTab ); aDestMark.SetMarkArea( aNewTokenRange ); diff --git a/sc/source/ui/docshell/dbdocfun.cxx b/sc/source/ui/docshell/dbdocfun.cxx index c81d66554003..7e21ade37edd 100644 --- a/sc/source/ui/docshell/dbdocfun.cxx +++ b/sc/source/ui/docshell/dbdocfun.cxx @@ -1161,8 +1161,8 @@ bool isEditable(ScDocShell& rDocShell, const ScRangeList& rRanges, bool bApi) for (size_t i = 0, n = rRanges.size(); i < n; ++i) { - const ScRange* p = rRanges[i]; - ScEditableTester aTester(&rDoc, *p); + const ScRange & r = rRanges[i]; + ScEditableTester aTester(&rDoc, r); if (!aTester.IsEditable()) { if (!bApi) @@ -1254,8 +1254,8 @@ bool ScDBDocFunc::DataPilotUpdate( ScDPObject* pOldObj, const ScDPObject* pNewOb WaitObject aWait( ScDocShell::GetActiveDialogParent() ); ScRangeList aRanges; - aRanges.Append(pOldObj->GetOutRange()); - aRanges.Append(pNewObj->GetOutRange().aStart); // at least one cell in the output position must be editable. + aRanges.push_back(pOldObj->GetOutRange()); + aRanges.push_back(pNewObj->GetOutRange().aStart); // at least one cell in the output position must be editable. if (!isEditable(rDocShell, aRanges, bApi)) return false; diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx index e8705d760aa0..6b0ee190fdd5 100644 --- a/sc/source/ui/docshell/docfunc.cxx +++ b/sc/source/ui/docshell/docfunc.cxx @@ -528,21 +528,20 @@ static void lcl_collectAllPredOrSuccRanges( ScRangeList aSrcRanges(rSrcRanges); if (aSrcRanges.empty()) return; - ScRange* p = aSrcRanges.front(); - ScDetectiveFunc aDetFunc(&rDoc, p->aStart.Tab()); - ScRangeList aDestRanges; + ScRange const & rFrontRange = aSrcRanges.front(); + ScDetectiveFunc aDetFunc(&rDoc, rFrontRange.aStart.Tab()); for (size_t i = 0, n = aSrcRanges.size(); i < n; ++i) { - p = aSrcRanges[i]; + ScRange const & r = aSrcRanges[i]; if (bPred) { aDetFunc.GetAllPreds( - p->aStart.Col(), p->aStart.Row(), p->aEnd.Col(), p->aEnd.Row(), aRefTokens); + r.aStart.Col(), r.aStart.Row(), r.aEnd.Col(), r.aEnd.Row(), aRefTokens); } else { aDetFunc.GetAllSuccs( - p->aStart.Col(), p->aStart.Row(), p->aEnd.Col(), p->aEnd.Row(), aRefTokens); + r.aStart.Col(), r.aStart.Row(), r.aEnd.Col(), r.aEnd.Row(), aRefTokens); } } rRefTokens.swap(aRefTokens); diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx index 582f39aad829..8adcbfb0006c 100644 --- a/sc/source/ui/docshell/docsh3.cxx +++ b/sc/source/ui/docshell/docsh3.cxx @@ -104,7 +104,7 @@ void ScDocShell::PostPaint( const ScRangeList& rRanges, PaintPartFlags nPart, sa ScRangeList aPaintRanges; for (size_t i = 0, n = rRanges.size(); i < n; ++i) { - const ScRange& rRange = *rRanges[i]; + const ScRange& rRange = rRanges[i]; SCCOL nCol1 = rRange.aStart.Col(), nCol2 = rRange.aEnd.Col(); SCROW nRow1 = rRange.aStart.Row(), nRow2 = rRange.aEnd.Row(); SCTAB nTab1 = rRange.aStart.Tab(), nTab2 = rRange.aEnd.Tab(); @@ -159,7 +159,7 @@ void ScDocShell::PostPaint( const ScRangeList& rRanges, PaintPartFlags nPart, sa nCol2 = MAXCOL; } } - aPaintRanges.Append(ScRange(nCol1, nRow1, nTab1, nCol2, nRow2, nTab2)); + aPaintRanges.push_back(ScRange(nCol1, nRow1, nTab1, nCol2, nRow2, nTab2)); } Broadcast(ScPaintHint(aPaintRanges.Combine(), nPart)); @@ -255,9 +255,9 @@ void ScDocShell::UnlockPaint_Impl(bool bDoc) for ( size_t i = 0, nCount = xRangeList->size(); i < nCount; i++ ) { //! nExtFlags ??? - ScRange aRange = *(*xRangeList)[i]; - PostPaint( aRange.aStart.Col(), aRange.aStart.Row(), aRange.aStart.Tab(), - aRange.aEnd.Col(), aRange.aEnd.Row(), aRange.aEnd.Tab(), + ScRange const & rRange = (*xRangeList)[i]; + PostPaint( rRange.aStart.Col(), rRange.aStart.Row(), rRange.aStart.Tab(), + rRange.aEnd.Col(), rRange.aEnd.Row(), rRange.aEnd.Tab(), nParts ); } } diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx index d0d95a28277f..81f321dd5c51 100644 --- a/sc/source/ui/docshell/docsh4.cxx +++ b/sc/source/ui/docshell/docsh4.cxx @@ -331,7 +331,7 @@ void ScDocShell::Execute( SfxRequest& rReq ) if ( !aRangeListRef->empty() ) { bMultiRange = true; - aSingleRange = *aRangeListRef->front(); // for header + aSingleRange = aRangeListRef->front(); // for header bValid = true; } else diff --git a/sc/source/ui/docshell/docsh5.cxx b/sc/source/ui/docshell/docsh5.cxx index 8b1730af3a0d..acd05f0ec21b 100644 --- a/sc/source/ui/docshell/docsh5.cxx +++ b/sc/source/ui/docshell/docsh5.cxx @@ -865,7 +865,7 @@ sal_uLong ScDocShell::TransferTab( ScDocShell& rSrcDocShell, SCTAB nSrcPos, // set the transferred area to the copyparam to make adjusting formulas possible ScClipParam aParam; ScRange aRange(0, 0, nSrcPos, MAXCOL, MAXROW, nSrcPos); - aParam.maRanges.Append(aRange); + aParam.maRanges.push_back(aRange); rSrcDoc.SetClipParam(aParam); sal_uLong nErrVal = aDocument.TransferTab( &rSrcDoc, nSrcPos, nDestPos, diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx index 9676d89b318d..4ca3df975a36 100644 --- a/sc/source/ui/docshell/externalrefmgr.cxx +++ b/sc/source/ui/docshell/externalrefmgr.cxx @@ -435,10 +435,7 @@ void ScExternalRefCache::Table::setCachedCell(SCCOL nCol, SCROW nRow) void ScExternalRefCache::Table::setCachedCellRange(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) { ScRange aRange(nCol1, nRow1, 0, nCol2, nRow2, 0); - if ( maCachedRanges.empty() ) - maCachedRanges.Append(aRange); - else - maCachedRanges.Join(aRange); + maCachedRanges.Join(aRange); } void ScExternalRefCache::Table::setWholeTableCached() diff --git a/sc/source/ui/docshell/tablink.cxx b/sc/source/ui/docshell/tablink.cxx index f8dd7e3390ef..224e88a7f3a3 100644 --- a/sc/source/ui/docshell/tablink.cxx +++ b/sc/source/ui/docshell/tablink.cxx @@ -322,11 +322,11 @@ bool ScTableLink::Refresh(const OUString& rNewFile, const OUString& rNewFilter, for (size_t nPos=0; nPos < nRanges; nPos++) { - const ScRange* pRange = aErrorCells[ nPos ]; - SCCOL nStartCol = pRange->aStart.Col(); - SCROW nStartRow = pRange->aStart.Row(); - SCCOL nEndCol = pRange->aEnd.Col(); - SCROW nEndRow = pRange->aEnd.Row(); + const ScRange & rRange = aErrorCells[ nPos ]; + SCCOL nStartCol = rRange.aStart.Col(); + SCROW nStartRow = rRange.aStart.Row(); + SCCOL nEndCol = rRange.aEnd.Col(); + SCROW nEndRow = rRange.aEnd.Row(); for (SCROW nRow=nStartRow; nRow<=nEndRow; nRow++) for (SCCOL nCol=nStartCol; nCol<=nEndCol; nCol++) { diff --git a/sc/source/ui/drawfunc/fuins2.cxx b/sc/source/ui/drawfunc/fuins2.cxx index a041c7b8f98e..b494a11952d7 100644 --- a/sc/source/ui/drawfunc/fuins2.cxx +++ b/sc/source/ui/drawfunc/fuins2.cxx @@ -462,10 +462,10 @@ FuInsertChart::FuInsertChart(ScTabViewShell* pViewSh, vcl::Window* pWin, ScDrawV // get "total" range for positioning if ( !aRanges.empty() ) { - aPositionRange = *aRanges[ 0 ]; + aPositionRange = aRanges[ 0 ]; for ( size_t i = 1, nCount = aRanges.size(); i < nCount; ++i ) { - aPositionRange.ExtendTo( *aRanges[ i ] ); + aPositionRange.ExtendTo( aRanges[ i ] ); } } diff --git a/sc/source/ui/inc/AccessibleSpreadsheet.hxx b/sc/source/ui/inc/AccessibleSpreadsheet.hxx index baf47f016aee..ade94b07a24b 100644 --- a/sc/source/ui/inc/AccessibleSpreadsheet.hxx +++ b/sc/source/ui/inc/AccessibleSpreadsheet.hxx @@ -269,7 +269,7 @@ public: ScRange m_aLastWithInMarkRange; OUString m_strCurCellValue; ScRangeList m_LastMarkedRanges; - typedef std::vector<ScRange*> VEC_RANGE; + typedef std::vector<ScRange> VEC_RANGE; VEC_RANGE m_vecTempRange; typedef std::pair<sal_uInt16,sal_uInt16> PAIR_COL; typedef std::vector<PAIR_COL> VEC_COL; @@ -280,7 +280,7 @@ public: bool IsScAddrFormulaSel (const ScAddress &addr) const; bool IsFormulaMode(); ScMyAddress CalcScAddressFromRangeList(ScRangeList *pMarkedRanges,sal_Int32 nSelectedChildIndex); - static bool CalcScRangeDifferenceMax(const ScRange *pSrc, const ScRange *pDest,int nMax,VEC_MYADDR &vecRet,int &nSize); + static bool CalcScRangeDifferenceMax(const ScRange & rSrc, const ScRange & rDest,int nMax,VEC_MYADDR &vecRet,int &nSize); static bool CalcScRangeListDifferenceMax(ScRangeList *pSrc,ScRangeList *pDest,int nMax,VEC_MYADDR &vecRet); }; diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx index 50bcf63dd37f..197ca4684c4e 100644 --- a/sc/source/ui/inc/docsh.hxx +++ b/sc/source/ui/inc/docsh.hxx @@ -475,8 +475,7 @@ namespace HelperNotifyChanges { if (ScModelObj* pModelObj = getMustPropagateChangesModel(rDocShell)) { - ScRangeList aChangeRanges; - aChangeRanges.Append(rRange); + ScRangeList aChangeRanges(rRange); Notify(*pModelObj, aChangeRanges, rType); } } diff --git a/sc/source/ui/miscdlgs/acredlin.cxx b/sc/source/ui/miscdlgs/acredlin.cxx index 6a6f6f3e2684..210392eaf8be 100644 --- a/sc/source/ui/miscdlgs/acredlin.cxx +++ b/sc/source/ui/miscdlgs/acredlin.cxx @@ -244,8 +244,8 @@ void ScAcceptChgDlg::Init() if( !aChangeViewSet.GetTheRangeList().empty() ) { - const ScRange* pRangeEntry = aChangeViewSet.GetTheRangeList().front(); - OUString aRefStr(pRangeEntry->Format(ScRefFlags::RANGE_ABS_3D, pDoc)); + const ScRange & rRangeEntry = aChangeViewSet.GetTheRangeList().front(); + OUString aRefStr(rRangeEntry.Format(ScRefFlags::RANGE_ABS_3D, pDoc)); pTPFilter->SetRange(aRefStr); } @@ -338,8 +338,8 @@ bool ScAcceptChgDlg::IsValidAction(const ScChangeAction* pScChangeAction) { for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i ) { - ScRange* pRangeEntry = aRangeList[ i ]; - if (pRangeEntry->Intersects(aRef)) { + ScRange const & rRangeEntry = aRangeList[ i ]; + if (rRangeEntry.Intersects(aRef)) { bFlag = true; break; } @@ -457,8 +457,8 @@ SvTreeListEntry* ScAcceptChgDlg::AppendChangeAction( { for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i ) { - ScRange* pRangeEntry = aRangeList[ i ]; - if( pRangeEntry->Intersects(aRef) ) + ScRange const & rRangeEntry = aRangeList[ i ]; + if( rRangeEntry.Intersects(aRef) ) { bHasFilterEntry=true; bFlag=true; @@ -527,8 +527,8 @@ SvTreeListEntry* ScAcceptChgDlg::AppendFilteredAction( { for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i ) { - ScRange* pRangeEntry=aRangeList[ i ]; - if( pRangeEntry->Intersects(aRef) ) + ScRange const & rRangeEntry=aRangeList[ i ]; + if( rRangeEntry.Intersects(aRef) ) { if( pScChangeAction->GetState()==eState ) bFlag = true; @@ -647,8 +647,8 @@ SvTreeListEntry* ScAcceptChgDlg::InsertChangeActionContent(const ScChangeActionC { for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i ) { - ScRange* pRangeEntry = aRangeList[ i ]; - if( pRangeEntry->Intersects(aRef) ) + ScRange const & rRangeEntry = aRangeList[ i ]; + if( rRangeEntry.Intersects(aRef) ) { bFlag=true; break; diff --git a/sc/source/ui/miscdlgs/anyrefdg.cxx b/sc/source/ui/miscdlgs/anyrefdg.cxx index 8a9c71ee6eb6..e4e51f964091 100644 --- a/sc/source/ui/miscdlgs/anyrefdg.cxx +++ b/sc/source/ui/miscdlgs/anyrefdg.cxx @@ -144,9 +144,9 @@ void ScFormulaReferenceHelper::ShowSimpleReference(const OUString& rStr) { for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i ) { - ScRange* pRangeEntry = aRangeList[ i ]; + ScRange const & rRangeEntry = aRangeList[ i ]; Color aColName = ScRangeFindList::GetColorName( i ); - pTabViewShell->AddHighlightRange( *pRangeEntry, aColName ); + pTabViewShell->AddHighlightRange( rRangeEntry, aColName ); } } } @@ -173,10 +173,10 @@ bool ScFormulaReferenceHelper::ParseWithNames( ScRangeList& rRanges, const OUStr aRange.aStart.SetTab( nRefTab ); if ( (nFlags & ScRefFlags::TAB2_3D) == ScRefFlags::ZERO ) aRange.aEnd.SetTab( aRange.aStart.Tab() ); - rRanges.Append( aRange ); + rRanges.push_back( aRange ); } else if ( ScRangeUtil::MakeRangeFromName( aRangeStr, pDoc, nRefTab, aRange, RUTL_NAMES, aDetails ) ) - rRanges.Append( aRange ); + rRanges.push_back( aRange ); else bError = true; } @@ -304,13 +304,13 @@ void ScFormulaReferenceHelper::ReleaseFocus( formula::RefEdit* pEdit ) { if ( !aRangeList.empty() ) { - const ScRange* pRange = aRangeList.front(); - pViewShell->SetTabNo( pRange->aStart.Tab() ); - pViewShell->MoveCursorAbs( pRange->aStart.Col(), - pRange->aStart.Row(), SC_FOLLOW_JUMP, false, false ); - pViewShell->MoveCursorAbs( pRange->aEnd.Col(), - pRange->aEnd.Row(), SC_FOLLOW_JUMP, true, false ); - m_pDlg->SetReference( *pRange, pDoc ); + const ScRange & rRange = aRangeList.front(); + pViewShell->SetTabNo( rRange.aStart.Tab() ); + pViewShell->MoveCursorAbs( rRange.aStart.Col(), + rRange.aStart.Row(), SC_FOLLOW_JUMP, false, false ); + pViewShell->MoveCursorAbs( rRange.aEnd.Col(), + rRange.aEnd.Row(), SC_FOLLOW_JUMP, true, false ); + m_pDlg->SetReference( rRange, pDoc ); } } } diff --git a/sc/source/ui/miscdlgs/highred.cxx b/sc/source/ui/miscdlgs/highred.cxx index 9601a7c68195..627fb68af76b 100644 --- a/sc/source/ui/miscdlgs/highred.cxx +++ b/sc/source/ui/miscdlgs/highred.cxx @@ -123,8 +123,8 @@ void ScHighlightChgDlg::Init() if ( !aChangeViewSet.GetTheRangeList().empty() ) { - const ScRange* pRangeEntry = aChangeViewSet.GetTheRangeList().front(); - OUString aRefStr(pRangeEntry->Format(ScRefFlags::RANGE_ABS_3D, pDoc)); + const ScRange & rRangeEntry = aChangeViewSet.GetTheRangeList().front(); + OUString aRefStr(rRangeEntry.Format(ScRefFlags::RANGE_ABS_3D, pDoc)); m_pFilterCtr->SetRange(aRefStr); } m_pFilterCtr->Enable(); diff --git a/sc/source/ui/miscdlgs/optsolver.cxx b/sc/source/ui/miscdlgs/optsolver.cxx index 73141f48b822..6ffb40cd8453 100644 --- a/sc/source/ui/miscdlgs/optsolver.cxx +++ b/sc/source/ui/miscdlgs/optsolver.cxx @@ -868,7 +868,7 @@ bool ScOptSolverDlg::CallSolver() // return true -> close dialog after cal for ( size_t nRangePos=0, nRange = aVarRanges.size(); nRangePos < nRange; ++nRangePos ) { - ScRange aRange(*aVarRanges[ nRangePos ] ); + ScRange aRange( aVarRanges[ nRangePos ] ); aRange.PutInOrder(); SCTAB nTab = aRange.aStart.Tab(); diff --git a/sc/source/ui/undo/undobase.cxx b/sc/source/ui/undo/undobase.cxx index 6198c87c7c7a..d88d29d71b53 100644 --- a/sc/source/ui/undo/undobase.cxx +++ b/sc/source/ui/undo/undobase.cxx @@ -388,7 +388,7 @@ void ScMultiBlockUndo::ShowBlock() return; // Move to the sheet of the first range. - ScRange aRange = *maBlockRanges.front(); + ScRange aRange = maBlockRanges.front(); ShowTable(aRange); pViewShell->MoveCursorAbs( aRange.aStart.Col(), aRange.aStart.Row(), SC_FOLLOW_JUMP, false, false); @@ -399,7 +399,7 @@ void ScMultiBlockUndo::ShowBlock() for (size_t i = 1, n = maBlockRanges.size(); i < n; ++i) { - aRange = *maBlockRanges[i]; + aRange = maBlockRanges[i]; aRange.aStart.SetTab(nTab); aRange.aEnd.SetTab(nTab); pViewShell->MarkRange(aRange, false, true); diff --git a/sc/source/ui/undo/undoblk.cxx b/sc/source/ui/undo/undoblk.cxx index a59b5d5c4177..6d96cdaeccaf 100644 --- a/sc/source/ui/undo/undoblk.cxx +++ b/sc/source/ui/undo/undoblk.cxx @@ -919,7 +919,7 @@ void ScUndoPaste::SetChangeTrack() { for (size_t i = 0, n = maBlockRanges.size(); i < n; ++i) { - pChangeTrack->AppendContentRange(*maBlockRanges[i], pUndoDoc, + pChangeTrack->AppendContentRange(maBlockRanges[i], pUndoDoc, nStartChangeAction, nEndChangeAction, SC_CACM_PASTE ); } } @@ -963,7 +963,7 @@ void ScUndoPaste::DoChange(bool bUndo) bool bRowInfo = true; for (size_t i = 0, n = maBlockRanges.size(); i < n; ++i) { - const ScRange& r = *maBlockRanges[i]; + const ScRange& r = maBlockRanges[i]; bColInfo &= (r.aStart.Row() == 0 && r.aEnd.Row() == MAXROW); bRowInfo &= (r.aStart.Col() == 0 && r.aEnd.Col() == MAXCOL); if (!bColInfo && !bRowInfo) @@ -977,7 +977,7 @@ void ScUndoPaste::DoChange(bool bUndo) // all sheets - CopyToDocument skips those that don't exist in pRedoDoc for (size_t i = 0, n = maBlockRanges.size(); i < n; ++i) { - ScRange aCopyRange = *maBlockRanges[i]; + ScRange aCopyRange = maBlockRanges[i]; aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(nTabCount-1); rDoc.CopyToDocument(aCopyRange, nUndoFlags, false, *pRedoDoc); @@ -992,7 +992,7 @@ void ScUndoPaste::DoChange(bool bUndo) aMarkData.MarkToMulti(); rDoc.DeleteSelection(nUndoFlags, aMarkData, false); // no broadcasting here for (size_t i = 0, n = maBlockRanges.size(); i < n; ++i) - rDoc.BroadcastCells(*maBlockRanges[i], SfxHintId::ScDataChanged); + rDoc.BroadcastCells(maBlockRanges[i], SfxHintId::ScDataChanged); aMarkData.MarkToSimple(); @@ -1002,7 +1002,7 @@ void ScUndoPaste::DoChange(bool bUndo) { for (size_t i = 0, n = maBlockRanges.size(); i < n; ++i) { - ScRange aRange = *maBlockRanges[i]; + ScRange aRange = maBlockRanges[i]; aRange.aStart.SetTab(nFirstSelected); aRange.aEnd.SetTab(nFirstSelected); pRedoDoc->UndoToDocument(aRange, nUndoFlags, false, rDoc); @@ -1023,7 +1023,7 @@ void ScUndoPaste::DoChange(bool bUndo) { pWorkRefData->DoUndo( &rDoc, true ); // true = bSetChartRangeLists for SetChartListenerCollection if (!maBlockRanges.empty() && - rDoc.RefreshAutoFilter(0, 0, MAXCOL, MAXROW, maBlockRanges[0]->aStart.Tab())) + rDoc.RefreshAutoFilter(0, 0, MAXCOL, MAXROW, maBlockRanges[0].aStart.Tab())) bPaintAll = true; } @@ -1034,7 +1034,7 @@ void ScUndoPaste::DoChange(bool bUndo) { for (size_t i = 0, n = maBlockRanges.size(); i < n; ++i) { - ScRange aRange = *maBlockRanges[i]; + ScRange aRange = maBlockRanges[i]; ScMarkData::iterator itr = aMarkData.begin(), itrEnd = aMarkData.end(); for (; itr != itrEnd && *itr < nTabCount; ++itr) { @@ -1058,7 +1058,7 @@ void ScUndoPaste::DoChange(bool bUndo) PaintPartFlags nPaint = PaintPartFlags::Grid; for (size_t i = 0, n = aDrawRanges.size(); i < n; ++i) { - ScRange& rDrawRange = *aDrawRanges[i]; + ScRange& rDrawRange = aDrawRanges[i]; rDoc.ExtendMerge(rDrawRange, true); // only needed for single sheet (text/rtf etc.) if (bPaintAll) { @@ -1072,12 +1072,12 @@ void ScUndoPaste::DoChange(bool bUndo) } else { - if (maBlockRanges[i]->aStart.Row() == 0 && maBlockRanges[i]->aEnd.Row() == MAXROW) // whole column + if (maBlockRanges[i].aStart.Row() == 0 && maBlockRanges[i].aEnd.Row() == MAXROW) // whole column { nPaint |= PaintPartFlags::Top; rDrawRange.aEnd.SetCol(MAXCOL); } - if (maBlockRanges[i]->aStart.Col() == 0 && maBlockRanges[i]->aEnd.Col() == MAXCOL) // whole row + if (maBlockRanges[i].aStart.Col() == 0 && maBlockRanges[i].aEnd.Col() == MAXCOL) // whole row { nPaint |= PaintPartFlags::Left; rDrawRange.aEnd.SetRow(MAXROW); @@ -1109,7 +1109,7 @@ void ScUndoPaste::Undo() BeginUndo(); DoChange(true); if (!maBlockRanges.empty()) - ShowTable(*maBlockRanges.front()); + ShowTable(maBlockRanges.front()); EndUndo(); SfxGetpApp()->Broadcast( SfxHint( SfxHintId::ScAreaLinksChanged ) ); } @@ -1380,8 +1380,8 @@ void ScUndoDragDrop::Undo() for (size_t i = 0; i < maPaintRanges.size(); ++i) { - const ScRange* p = maPaintRanges[i]; - PaintArea(*p, mnPaintExtFlags); + const ScRange& r = maPaintRanges[i]; + PaintArea(r, mnPaintExtFlags); } EndUndo(); @@ -2339,16 +2339,16 @@ static ScRange lcl_TotalRange( const ScRangeList& rRanges ) ScRange aTotal; if ( !rRanges.empty() ) { - aTotal = *rRanges[ 0 ]; + aTotal = rRanges[ 0 ]; for ( size_t i = 1, nCount = rRanges.size(); i < nCount; ++i ) { - ScRange aRange = *rRanges[ i ]; - if (aRange.aStart.Col() < aTotal.aStart.Col()) aTotal.aStart.SetCol(aRange.aStart.Col()); - if (aRange.aStart.Row() < aTotal.aStart.Row()) aTotal.aStart.SetRow(aRange.aStart.Row()); - if (aRange.aStart.Tab() < aTotal.aStart.Tab()) aTotal.aStart.SetTab(aRange.aStart.Tab()); - if (aRange.aEnd.Col() > aTotal.aEnd.Col() ) aTotal.aEnd.SetCol( aRange.aEnd.Col() ); - if (aRange.aEnd.Row() > aTotal.aEnd.Row() ) aTotal.aEnd.SetRow( aRange.aEnd.Row() ); - if (aRange.aEnd.Tab() > aTotal.aEnd.Tab() ) aTotal.aEnd.SetTab(aRange.aEnd.Tab() ); + ScRange const & rRange = rRanges[ i ]; + if (rRange.aStart.Col() < aTotal.aStart.Col()) aTotal.aStart.SetCol(rRange.aStart.Col()); + if (rRange.aStart.Row() < aTotal.aStart.Row()) aTotal.aStart.SetRow(rRange.aStart.Row()); + if (rRange.aStart.Tab() < aTotal.aStart.Tab()) aTotal.aStart.SetTab(rRange.aStart.Tab()); + if (rRange.aEnd.Col() > aTotal.aEnd.Col() ) aTotal.aEnd.SetCol( rRange.aEnd.Col() ); + if (rRange.aEnd.Row() > aTotal.aEnd.Row() ) aTotal.aEnd.SetRow( rRange.aEnd.Row() ); + if (rRange.aEnd.Tab() > aTotal.aEnd.Tab() ) aTotal.aEnd.SetTab(rRange.aEnd.Tab() ); } } return aTotal; @@ -2391,17 +2391,17 @@ void ScUndoBorder::Redo() size_t nCount = xRanges->size(); for (size_t i = 0; i < nCount; ++i ) { - ScRange aRange = *(*xRanges)[i]; - SCTAB nTab = aRange.aStart.Tab(); + ScRange const & rRange = (*xRanges)[i]; + SCTAB nTab = rRange.aStart.Tab(); ScMarkData aMark; - aMark.SetMarkArea( aRange ); + aMark.SetMarkArea( rRange ); aMark.SelectTable( nTab, true ); rDoc.ApplySelectionFrame(aMark, *xOuter, xInner.get()); } for (size_t i = 0; i < nCount; ++i) - pDocShell->PostPaint( *(*xRanges)[i], PaintPartFlags::Grid, SC_PF_LINES | SC_PF_TESTMERGE ); + pDocShell->PostPaint( (*xRanges)[i], PaintPartFlags::Grid, SC_PF_LINES | SC_PF_TESTMERGE ); EndRedo(); } diff --git a/sc/source/ui/undo/undocell.cxx b/sc/source/ui/undo/undocell.cxx index 7734e2ae7492..522914ec9cdc 100644 --- a/sc/source/ui/undo/undocell.cxx +++ b/sc/source/ui/undo/undocell.cxx @@ -60,7 +60,7 @@ namespace HelperNotifyChanges for (const auto & rOldValue : rOldValues) { - aChangeRanges.Append( ScRange(rPos.Col(), rPos.Row(), rOldValue.mnTab)); + aChangeRanges.push_back( ScRange(rPos.Col(), rPos.Row(), rOldValue.mnTab)); } Notify(*pModelObj, aChangeRanges, "cell-change"); diff --git a/sc/source/ui/undo/undodat.cxx b/sc/source/ui/undo/undodat.cxx index b3de44ea8c8a..d3cef474a5d0 100644 --- a/sc/source/ui/undo/undodat.cxx +++ b/sc/source/ui/undo/undodat.cxx @@ -1676,7 +1676,7 @@ ScUndoChartData::ScUndoChartData( ScDocShell* pNewDocShell, const OUString& rNam bAddRange( bAdd ) { aNewRangeListRef = new ScRangeList; - aNewRangeListRef->Append( rNew ); + aNewRangeListRef->push_back( rNew ); Init(); } diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx index d68573a3264b..0e6b0ef4e16a 100644 --- a/sc/source/ui/unoobj/cellsuno.cxx +++ b/sc/source/ui/unoobj/cellsuno.cxx @@ -919,19 +919,17 @@ static SCTAB lcl_FirstTab( const ScRangeList& rRanges ) { if (rRanges.empty()) throw std::out_of_range("empty range"); - const ScRange* pFirst = rRanges[0]; - if (pFirst) - return pFirst->aStart.Tab(); - return 0; // shouldn't happen + const ScRange & rFirst = rRanges[0]; + return rFirst.aStart.Tab(); } static bool lcl_WholeSheet( const ScRangeList& rRanges ) { if ( rRanges.size() == 1 ) { - const ScRange* pRange = rRanges[0]; - if ( pRange && pRange->aStart.Col() == 0 && pRange->aEnd.Col() == MAXCOL && - pRange->aStart.Row() == 0 && pRange->aEnd.Row() == MAXROW ) + const ScRange & rRange = rRanges[0]; + if ( rRange.aStart.Col() == 0 && rRange.aEnd.Col() == MAXCOL && + rRange.aStart.Row() == 0 && rRange.aEnd.Row() == MAXROW ) return true; } return false; @@ -1062,8 +1060,8 @@ void ScHelperFunctions::ApplyBorder( ScDocShell* pDocShell, const ScRangeList& r size_t nCount = rRanges.size(); for (size_t i = 0; i < nCount; ++i) { - ScRange aRange( *rRanges[ i ] ); - SCTAB nTab = aRange.aStart.Tab(); + ScRange const & rRange = rRanges[ i ]; + SCTAB nTab = rRange.aStart.Tab(); if (bUndo) { @@ -1071,11 +1069,11 @@ void ScHelperFunctions::ApplyBorder( ScDocShell* pDocShell, const ScRangeList& r pUndoDoc->InitUndo( &rDoc, nTab, nTab ); else pUndoDoc->AddUndoTab( nTab, nTab ); - rDoc.CopyToDocument(aRange, InsertDeleteFlags::ATTRIB, false, *pUndoDoc); + rDoc.CopyToDocument(rRange, InsertDeleteFlags::ATTRIB, false, *pUndoDoc); } ScMarkData aMark; - aMark.SetMarkArea( aRange ); + aMark.SetMarkArea( rRange ); aMark.SelectTable( nTab, true ); rDoc.ApplySelectionFrame(aMark, rOuter, &rInner); @@ -1089,7 +1087,7 @@ void ScHelperFunctions::ApplyBorder( ScDocShell* pDocShell, const ScRangeList& r } for (size_t i = 0; i < nCount; ++i ) - pDocShell->PostPaint( *rRanges[ i ], PaintPartFlags::Grid, SC_PF_LINES | SC_PF_TESTMERGE ); + pDocShell->PostPaint( rRanges[ i ], PaintPartFlags::Grid, SC_PF_LINES | SC_PF_TESTMERGE ); pDocShell->SetDocumentModified(); } @@ -1422,7 +1420,7 @@ ScCellRangesBase::ScCellRangesBase(ScDocShell* pDocSh, const ScRange& rR) : ScRange aCellRange(rR); aCellRange.PutInOrder(); - aRanges.Append( aCellRange ); + aRanges.push_back( aCellRange ); if (pDocShell) // Null if created with createInstance { @@ -1585,14 +1583,11 @@ void ScCellRangesBase::Notify( SfxBroadcaster&, const SfxHint& rHint ) ) { // #101755#; the range size of a sheet does not change - ScRange* pR = aRanges.front(); - if (pR) - { - pR->aStart.SetCol(0); - pR->aStart.SetRow(0); - pR->aEnd.SetCol(MAXCOL); - pR->aEnd.SetRow(MAXROW); - } + ScRange & rR = aRanges.front(); + rR.aStart.SetCol(0); + rR.aStart.SetRow(0); + rR.aEnd.SetCol(MAXCOL); + rR.aEnd.SetRow(MAXROW); } RefChanged(); @@ -1689,7 +1684,7 @@ void ScCellRangesBase::RefChanged() ScDocument& rDoc = pDocShell->GetDocument(); for ( size_t i = 0, nCount = aRanges.size(); i < nCount; ++i ) - rDoc.StartListeningArea( *aRanges[ i ], false, pValueListener ); + rDoc.StartListeningArea( aRanges[ i ], false, pValueListener ); } ForgetCurrentAttrs(); @@ -1713,7 +1708,7 @@ void ScCellRangesBase::InitInsertRange(ScDocShell* pDocSh, const ScRange& rR) ScRange aCellRange(rR); aCellRange.PutInOrder(); aRanges.RemoveAll(); - aRanges.Append( aCellRange ); + aRanges.push_back( aCellRange ); pDocShell->GetDocument().AddUnoObject(*this); @@ -1726,7 +1721,7 @@ void ScCellRangesBase::AddRange(const ScRange& rRange, const bool bMergeRanges) if (bMergeRanges) aRanges.Join(rRange); else - aRanges.Append(rRange); + aRanges.push_back(rRange); RefChanged(); } @@ -1736,7 +1731,7 @@ void ScCellRangesBase::SetNewRange(const ScRange& rNew) aCellRange.PutInOrder(); aRanges.RemoveAll(); - aRanges.Append( aCellRange ); + aRanges.push_back( aCellRange ); RefChanged(); } @@ -1818,7 +1813,7 @@ uno::Sequence<sal_Int8> SAL_CALL ScCellRangesBase::getImplementationId() void ScCellRangesBase::PaintGridRanges_Impl( ) { for (size_t i = 0, nCount = aRanges.size(); i < nCount; ++i) - pDocShell->PostPaint( *aRanges[ i ], PaintPartFlags::Grid ); + pDocShell->PostPaint( aRanges[ i ], PaintPartFlags::Grid ); } // XSheetOperation @@ -2095,7 +2090,7 @@ uno::Any SAL_CALL ScCellRangesBase::getPropertyDefault( const OUString& aPropert formula::FormulaGrammar::mapAPItoGrammar( bEnglish, bXML)); aAny <<= uno::Reference<sheet::XSheetConditionalEntries>( - new ScTableConditionalFormat( &rDoc, 0, aRanges[0]->aStart.Tab(), eGrammar )); + new ScTableConditionalFormat( &rDoc, 0, aRanges[0].aStart.Tab(), eGrammar )); } break; case SC_WID_UNO_VALIDAT: @@ -2301,10 +2296,10 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE { for (size_t i = 0, n = aRanges.size(); i < n; ++i) { - ScRange aRange = *aRanges[i]; + ScRange const & rRange = aRanges[i]; /* TODO: Iterate through the range */ - ScAddress aAddr = aRange.aStart; + ScAddress aAddr = rRange.aStart; ScDocument& rDoc = pDocShell->GetDocument(); ScRefCellValue aCell(rDoc, aAddr); @@ -2327,7 +2322,7 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE aEngine.QuickSetAttribs(aAttr, ESelection(0, 0, 0, aStr.getLength())); // The cell will own the text object instance. - rDoc.SetEditText(aRanges[0]->aStart, aEngine.CreateTextObject()); + rDoc.SetEditText(aRanges[0].aStart, aEngine.CreateTextObject()); } } } @@ -2392,16 +2387,16 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE formula::FormulaGrammar::GRAM_UNSPECIFIED : formula::FormulaGrammar::mapAPItoGrammar( bEnglish, bXML)); - SCTAB nTab = aRanges.front()->aStart.Tab(); + SCTAB nTab = aRanges.front().aStart.Tab(); // To remove conditional formats for all cells in aRanges we need to: // Remove conditional format data from cells' attributes rDoc.RemoveCondFormatData( aRanges, nTab, 0 ); // And also remove ranges from conditional formats list for (size_t i = 0; i < aRanges.size(); ++i) { - rDoc.GetCondFormList( aRanges[i]->aStart.Tab() )->DeleteArea( - aRanges[i]->aStart.Col(), aRanges[i]->aStart.Row(), - aRanges[i]->aEnd.Col(), aRanges[i]->aEnd.Row() ); + rDoc.GetCondFormList( aRanges[i].aStart.Tab() )->DeleteArea( + aRanges[i].aStart.Col(), aRanges[i].aStart.Row(), + aRanges[i].aEnd.Col(), aRanges[i].aEnd.Row() ); } // Then we can apply new conditional format if there is one @@ -2415,7 +2410,7 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE // and repaint for (size_t i = 0; i < aRanges.size(); ++i) - pDocShell->PostPaint(*aRanges[i], PaintPartFlags::Grid); + pDocShell->PostPaint(aRanges[i], PaintPartFlags::Grid); pDocShell->SetDocumentModified(); } } @@ -2538,14 +2533,14 @@ void ScCellRangesBase::GetOnePropertyValue( const SfxItemPropertySimpleEntry* pE //! loop through all ranges if ( !aRanges.empty() ) { - const ScRange* pFirst = aRanges[ 0 ]; + const ScRange & rFirst = aRanges[ 0 ]; SvxBoxItem aOuter(ATTR_BORDER); SvxBoxInfoItem aInner(ATTR_BORDER_INNER); ScDocument& rDoc = pDocShell->GetDocument(); ScMarkData aMark; - aMark.SetMarkArea( *pFirst ); - aMark.SelectTable( pFirst->aStart.Tab(), true ); + aMark.SetMarkArea( rFirst ); + aMark.SelectTable( rFirst.aStart.Tab(), true ); rDoc.GetSelectionFrame( aMark, aOuter, aInner ); if (pEntry->nWID == SC_WID_UNO_TBLBORD2) @@ -2574,7 +2569,7 @@ void ScCellRangesBase::GetOnePropertyValue( const SfxItemPropertySimpleEntry* pE if(!rIndex.empty()) nIndex = rIndex[0]; rAny <<= uno::Reference<sheet::XSheetConditionalEntries>( - new ScTableConditionalFormat( &rDoc, nIndex, aRanges.front()->aStart.Tab(), eGrammar )); + new ScTableConditionalFormat( &rDoc, nIndex, aRanges.front().aStart.Tab(), eGrammar )); } } break; @@ -3012,11 +3007,11 @@ ScMemChart* ScCellRangesBase::CreateMemChart_Impl() const // (only here - Listeners are registered for the whole area) //! check immediately if a ScTableSheetObj? - const ScRange* pRange = aRanges[0]; - if ( pRange->aStart.Col() == 0 && pRange->aEnd.Col() == MAXCOL && - pRange->aStart.Row() == 0 && pRange->aEnd.Row() == MAXROW ) + const ScRange & rRange = aRanges[0]; + if ( rRange.aStart.Col() == 0 && rRange.aEnd.Col() == MAXCOL && + rRange.aStart.Row() == 0 && rRange.aEnd.Row() == MAXROW ) { - SCTAB nTab = pRange->aStart.Tab(); + SCTAB nTab = rRange.aStart.Tab(); SCCOL nStartX; SCROW nStartY; // Get start @@ -3034,8 +3029,7 @@ ScMemChart* ScCellRangesBase::CreateMemChart_Impl() const nEndY = 0; } - xChartRanges = new ScRangeList; - xChartRanges->Append( ScRange( nStartX, nStartY, nTab, nEndX, nEndY, nTab ) ); + xChartRanges = new ScRangeList( ScRange( nStartX, nStartY, nTab, nEndX, nEndY, nTab ) ); } } if (!xChartRanges.is()) // otherwise take Ranges directly @@ -3081,13 +3075,13 @@ ScRangeListRef ScCellRangesBase::GetLimitedChartRanges_Impl( long nDataColumns, { if ( aRanges.size() == 1 ) { - const ScRange* pRange = aRanges[0]; - if ( pRange->aStart.Col() == 0 && pRange->aEnd.Col() == MAXCOL && - pRange->aStart.Row() == 0 && pRange->aEnd.Row() == MAXROW ) + const ScRange & rRange = aRanges[0]; + if ( rRange.aStart.Col() == 0 && rRange.aEnd.Col() == MAXCOL && + rRange.aStart.Row() == 0 && rRange.aEnd.Row() == MAXROW ) { // if aRanges is a complete sheet, limit to given size - SCTAB nTab = pRange->aStart.Tab(); + SCTAB nTab = rRange.aStart.Tab(); long nEndColumn = nDataColumns - 1 + ( bChartColAsHdr ? 1 : 0 ); if ( nEndColumn < 0 ) @@ -3101,8 +3095,7 @@ ScRangeListRef ScCellRangesBase::GetLimitedChartRanges_Impl( long nDataColumns, if ( nEndRow > MAXROW ) nEndRow = MAXROW; - ScRangeListRef xChartRanges = new ScRangeList; - xChartRanges->Append( ScRange( 0, 0, nTab, static_cast<SCCOL>(nEndColumn), static_cast<SCROW>(nEndRow), nTab ) ); + ScRangeListRef xChartRanges = new ScRangeList( ScRange( 0, 0, nTab, static_cast<SCCOL>(nEndColumn), static_cast<SCROW>(nEndRow), nTab ) ); return xChartRanges; } } @@ -3386,7 +3379,7 @@ void SAL_CALL ScCellRangesBase::addModifyListener(const uno::Reference<util::XMo ScDocument& rDoc = pDocShell->GetDocument(); for ( size_t i = 0, nCount = aRanges.size(); i < nCount; i++) - rDoc.StartListeningArea( *aRanges[ i ], false, pValueListener ); + rDoc.StartListeningArea( aRanges[ i ], false, pValueListener ); acquire(); // don't lose this object (one ref for all listeners) } @@ -3475,9 +3468,9 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryEmptyCel // mark occupied cells for (size_t i = 0, nCount = aRanges.size(); i < nCount; ++i) { - ScRange aRange = *aRanges[ i ]; + ScRange const & rRange = aRanges[ i ]; - ScCellIterator aIter( &rDoc, aRange ); + ScCellIterator aIter( &rDoc, rRange ); for (bool bHasCell = aIter.first(); bHasCell; bHasCell = aIter.next()) { // notes count as non-empty @@ -3510,9 +3503,9 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryContentC // select matching cells for ( size_t i = 0, nCount = aRanges.size(); i < nCount; ++i ) { - ScRange aRange = *aRanges[ i ]; + ScRange const & rRange = aRanges[ i ]; - ScCellIterator aIter( &rDoc, aRange ); + ScCellIterator aIter( &rDoc, rRange ); for (bool bHasCell = aIter.first(); bHasCell; bHasCell = aIter.next()) { bool bAdd = false; @@ -3599,9 +3592,9 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryFormulaC // select matching cells for ( size_t i = 0, nCount = aRanges.size(); i < nCount; ++i ) { - ScRange aRange = *aRanges[ i ]; + ScRange const & rRange = aRanges[ i ]; - ScCellIterator aIter( &rDoc, aRange ); + ScCellIterator aIter( &rDoc, rRange ); for (bool bHasCell = aIter.first(); bHasCell; bHasCell = aIter.next()) { if (aIter.getType() == CELLTYPE_FORMULA) @@ -3673,7 +3666,7 @@ uno::Reference<sheet::XSheetCellRanges> ScCellRangesBase::QueryDifferences_Impl( for (i=0; i<nRangeCount; i++) { - ScRange aRange( *aRanges[ i ] ); + ScRange aRange( aRanges[ i ] ); if ( aRange.Intersects( aCellRange ) ) { if (bColumnDiff) @@ -3697,9 +3690,9 @@ uno::Reference<sheet::XSheetCellRanges> ScCellRangesBase::QueryDifferences_Impl( ScAddress aCmpAddr; for (i=0; i<nRangeCount; i++) { - ScRange aRange( *aRanges[ i ] ); + ScRange const & rRange = aRanges[ i ]; - ScCellIterator aIter( &rDoc, aRange ); + ScCellIterator aIter( &rDoc, rRange ); for (bool bHasCell = aIter.first(); bHasCell; bHasCell = aIter.next()) { if (bColumnDiff) @@ -3748,7 +3741,7 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryIntersec ScRangeList aNew; for ( size_t i = 0, nCount = aRanges.size(); i < nCount; ++i ) { - ScRange aTemp( *aRanges[ i ] ); + ScRange aTemp( aRanges[ i ] ); if ( aTemp.Intersects( aMask ) ) aNew.Join( ScRange( std::max( aTemp.aStart.Col(), aMask.aStart.Col() ), std::max( aTemp.aStart.Row(), aMask.aStart.Row() ), @@ -3784,8 +3777,8 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryPreceden for (size_t nR = 0, nCount = aNewRanges.size(); nR<nCount; ++nR) { - ScRange aRange( *aNewRanges[ nR] ); - ScCellIterator aIter( &rDoc, aRange ); + ScRange const & rRange = aNewRanges[ nR]; + ScCellIterator aIter( &rDoc, rRange ); for (bool bHasCell = aIter.first(); bHasCell; bHasCell = aIter.next()) { if (aIter.getType() != CELLTYPE_FORMULA) @@ -3842,14 +3835,17 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryDependen bool bMark = false; ScDetectiveRefIter aIter(aCellIter.getFormulaCell()); ScRange aRefRange; - while ( aIter.GetNextRef( aRefRange) ) + while ( aIter.GetNextRef( aRefRange) && !bMark ) { size_t nRangesCount = aNewRanges.size(); for (size_t nR = 0; nR < nRangesCount; ++nR) { - ScRange aRange( *aNewRanges[ nR ] ); - if (aRange.Intersects(aRefRange)) + ScRange const & rRange = aNewRanges[ nR ]; + if (rRange.Intersects(aRefRange)) + { bMark = true; // depending on part of Range + break; + } } } if (bMark) @@ -3984,7 +3980,7 @@ uno::Reference<uno::XInterface> SAL_CALL ScCellRangesBase::findNext( const ScRangeList& rStartRanges = pRangesImp->GetRangeList(); if ( rStartRanges.size() == 1 ) { - ScAddress aStartPos = rStartRanges[ 0 ]->aStart; + ScAddress aStartPos = rStartRanges[ 0 ].aStart; return Find_Impl( xDesc, &aStartPos ); } } @@ -4194,11 +4190,11 @@ ScCellRangeObj* ScCellRangesObj::GetObjectByIndex_Impl(sal_Int32 nIndex) const const ScRangeList& rRanges = GetRangeList(); if ( pDocSh && nIndex >= 0 && nIndex < sal::static_int_cast<sal_Int32>(rRanges.size()) ) { - ScRange aRange( *rRanges[ nIndex ] ); - if ( aRange.aStart == aRange.aEnd ) - return new ScCellObj( pDocSh, aRange.aStart ); + ScRange const & rRange = rRanges[ nIndex ]; + if ( rRange.aStart == rRange.aEnd ) + return new ScCellObj( pDocSh, rRange.aStart ); else - return new ScCellRangeObj( pDocSh, aRange ); + return new ScCellRangeObj( pDocSh, rRange ); } return nullptr; // no DocShell or wrong index @@ -4217,7 +4213,7 @@ uno::Sequence<table::CellRangeAddress> SAL_CALL ScCellRangesObj::getRangeAddress table::CellRangeAddress* pAry = aSeq.getArray(); for ( size_t i=0; i < nCount; i++) { - ScUnoConversion::FillApiRange( aRangeAddress, *rRanges[ i ] ); + ScUnoConversion::FillApiRange( aRangeAddress, rRanges[ i ] ); pAry[i] = aRangeAddress; } return aSeq; @@ -4285,13 +4281,13 @@ void SAL_CALL ScCellRangesObj::removeRangeAddress( const table::CellRangeAddress ScRangeList aNotSheetRanges; for (size_t i = 0; i < rRanges.size(); ++i) { - if (rRanges[ i]->aStart.Tab() == rRange.Sheet) + if (rRanges[ i].aStart.Tab() == rRange.Sheet) { - aSheetRanges.Append( *rRanges[ i ] ); + aSheetRanges.push_back( rRanges[ i ] ); } else { - aNotSheetRanges.Append( *rRanges[ i ] ); + aNotSheetRanges.push_back( rRanges[ i ] ); } } ScMarkData aMarkData; @@ -4317,7 +4313,7 @@ void SAL_CALL ScCellRangesObj::removeRangeAddress( const table::CellRangeAddress aMarkData.FillRangeListWithMarks( &aNew, false ); for ( size_t j = 0; j < aNew.size(); ++j) { - AddRange(*aNew[ j ], false); + AddRange(aNew[ j ], false); } } @@ -4396,7 +4392,7 @@ void SAL_CALL ScCellRangesObj::insertByName( const OUString& aName, const uno::A const ScRangeList& rAddRanges = pRangesImp->GetRangeList(); size_t nAddCount = rAddRanges.size(); for ( size_t i = 0; i < nAddCount; i++ ) - aNew.Join( *rAddRanges[ i ] ); + aNew.Join( rAddRanges[ i ] ); SetNewRanges(aNew); bDone = true; @@ -4405,7 +4401,7 @@ void SAL_CALL ScCellRangesObj::insertByName( const OUString& aName, const uno::A // if a name is given, also insert into list of named entries // (only possible for a single range) // name is not in m_pImpl->m_aNamedEntries (tested above) - m_pImpl->m_aNamedEntries.emplace_back( aName, *rAddRanges[ 0 ] ); + m_pImpl->m_aNamedEntries.emplace_back( aName, rAddRanges[ 0 ] ); } } } @@ -4426,7 +4422,7 @@ static bool lcl_FindRangeByName( const ScRangeList& rRanges, ScDocShell* pDocSh, ScDocument& rDoc = pDocSh->GetDocument(); for ( size_t i = 0, nCount = rRanges.size(); i < nCount; i++ ) { - aRangeStr = rRanges[ i ]->Format(ScRefFlags::VALID | ScRefFlags::TAB_3D, &rDoc); + aRangeStr = rRanges[ i ].Format(ScRefFlags::VALID | ScRefFlags::TAB_3D, &rDoc); if ( aRangeStr == rName ) { rIndex = i; @@ -4446,7 +4442,7 @@ static bool lcl_FindRangeOrEntry( const ScNamedEntryArr_Impl& rNamedEntries, size_t nIndex = 0; if ( lcl_FindRangeByName( rRanges, pDocSh, rName, nIndex ) ) { - rFound = *rRanges[ nIndex ]; + rFound = rRanges[ nIndex ]; return true; } @@ -4504,7 +4500,7 @@ void SAL_CALL ScCellRangesObj::removeByName( const OUString& aName ) ScRangeList aNew; for ( size_t i = 0, nCount = rRanges.size(); i < nCount; i++ ) if (i != nIndex) - aNew.Append( *rRanges[ i ] ); + aNew.push_back( rRanges[ i ] ); SetNewRanges(aNew); bDone = true; } @@ -4521,7 +4517,7 @@ void SAL_CALL ScCellRangesObj::removeByName( const OUString& aName ) if (m_pImpl->m_aNamedEntries[n].GetName() == aName) { aDiff.RemoveAll(); - aDiff.Append(m_pImpl->m_aNamedEntries[n].GetRange()); + aDiff.push_back(m_pImpl->m_aNamedEntries[n].GetRange()); bValid = true; } } @@ -4532,9 +4528,9 @@ void SAL_CALL ScCellRangesObj::removeByName( const OUString& aName ) for ( size_t i = 0, nDiffCount = aDiff.size(); i < nDiffCount; i++ ) { - ScRange* pDiffRange = aDiff[ i ]; - if (aMarkData.GetTableSelect( pDiffRange->aStart.Tab() )) - aMarkData.SetMultiMarkArea( *pDiffRange, false ); + ScRange const & rDiffRange = aDiff[ i ]; + if (aMarkData.GetTableSelect( rDiffRange.aStart.Tab() )) + aMarkData.SetMultiMarkArea( rDiffRange, false ); } ScRangeList aNew; @@ -4616,11 +4612,11 @@ uno::Sequence<OUString> SAL_CALL ScCellRangesObj::getElementNames() for (size_t i=0; i < nCount; i++) { // use given name if for exactly this range, otherwise just format - ScRange aRange = *rRanges[ i ]; + ScRange const & rRange = rRanges[ i ]; if (m_pImpl->m_aNamedEntries.empty() || - !lcl_FindEntryName(m_pImpl->m_aNamedEntries, aRange, aRangeStr)) + !lcl_FindEntryName(m_pImpl->m_aNamedEntries, rRange, aRangeStr)) { - aRangeStr = aRange.Format(ScRefFlags::VALID | ScRefFlags::TAB_3D, &rDoc); + aRangeStr = rRange.Format(ScRefFlags::VALID | ScRefFlags::TAB_3D, &rDoc); } pAry[i] = aRangeStr; } @@ -4727,8 +4723,8 @@ void ScCellRangeObj::RefChanged() OSL_ENSURE(rRanges.size() == 1, "What ranges ?!?!"); if ( !rRanges.empty() ) { - const ScRange* pFirst = rRanges[0]; - aRange = ScRange(*pFirst); + const ScRange & rFirst = rRanges[0]; + aRange = rFirst; aRange.PutInOrder(); } } @@ -5979,8 +5975,7 @@ void ScCellObj::RefChanged() OSL_ENSURE(rRanges.size() == 1, "What ranges ?!?!"); if ( !rRanges.empty() ) { - const ScRange* pFirst = rRanges[ 0 ]; - aCellPos = pFirst->aStart; + aCellPos = rRanges[ 0 ].aStart; } } @@ -6827,8 +6822,7 @@ SCTAB ScTableSheetObj::GetTab_Impl() const OSL_ENSURE(rRanges.size() == 1, "What ranges ?!?!"); if ( !rRanges.empty() ) { - const ScRange* pFirst = rRanges[ 0 ]; - return pFirst->aStart.Tab(); + return rRanges[ 0 ].aStart.Tab(); } return 0; } @@ -6924,7 +6918,7 @@ uno::Reference<sheet::XSheetCellCursor> SAL_CALL ScTableSheetObj::createCursorBy { const ScRangeList& rRanges = pRangesImp->GetRangeList(); OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); - return new ScCellCursorObj( pDocSh, *rRanges[ 0 ] ); + return new ScCellCursorObj( pDocSh, rRanges[ 0 ] ); } } return nullptr; @@ -7933,12 +7927,12 @@ uno::Sequence< table::CellRangeAddress > SAL_CALL ScTableSheetObj::getRanges( ) table::CellRangeAddress* pAry = aRetRanges.getArray(); for( size_t nIndex = 0; nIndex < nCount; nIndex++ ) { - const ScRange* pRange = (*pRangeList)[nIndex]; - pAry->StartColumn = pRange->aStart.Col(); - pAry->StartRow = pRange->aStart.Row(); - pAry->EndColumn = pRange->aEnd.Col(); - pAry->EndRow = pRange->aEnd.Row(); - pAry->Sheet = pRange->aStart.Tab(); + const ScRange & rRange = (*pRangeList)[nIndex]; + pAry->StartColumn = rRange.aStart.Col(); + pAry->StartRow = rRange.aStart.Row(); + pAry->EndColumn = rRange.aEnd.Col(); + pAry->EndRow = rRange.aEnd.Row(); + pAry->Sheet = rRange.aStart.Tab(); ++pAry; } return aRetRanges; @@ -8941,10 +8935,7 @@ ScCellsEnumeration::ScCellsEnumeration(ScDocShell* pDocSh, const ScRangeList& rR bAtEnd = true; else { - SCTAB nTab = 0; - const ScRange* pFirst = aRanges[ 0 ]; - if (pFirst) - nTab = pFirst->aStart.Tab(); + SCTAB nTab = aRanges[ 0 ].aStart.Tab(); aPos = ScAddress(0,0,nTab); CheckPos_Impl(); // set aPos on first matching cell } @@ -9016,13 +9007,12 @@ void ScCellsEnumeration::Notify( SfxBroadcaster&, const SfxHint& rHint ) if (!bAtEnd) // adjust aPos { - ScRangeList aNew; - aNew.Append(ScRange(aPos)); + ScRangeList aNew { ScRange(aPos) }; aNew.UpdateReference( pRefHint->GetMode(), &pDocShell->GetDocument(), pRefHint->GetRange(), pRefHint->GetDx(), pRefHint->GetDy(), pRefHint->GetDz() ); if (aNew.size()==1) { - aPos = aNew[ 0 ]->aStart; + aPos = aNew[ 0 ].aStart; CheckPos_Impl(); } } @@ -9401,8 +9391,7 @@ const ScRangeList& ScUniqueFormatsEntry::GetRanges() { if ( eState == STATE_SINGLE ) { - aReturnRanges = new ScRangeList; - aReturnRanges->Append( aSingleRange ); + aReturnRanges = new ScRangeList( aSingleRange ); return *aReturnRanges; } @@ -9422,7 +9411,7 @@ const ScRangeList& ScUniqueFormatsEntry::GetRanges() aReturnRanges = new ScRangeList; ScRangeVector::const_iterator aCompEnd( aCompletedRanges.end() ); for ( ScRangeVector::const_iterator aCompIter( aCompletedRanges.begin() ); aCompIter != aCompEnd; ++aCompIter ) - aReturnRanges->Append( *aCompIter ); + aReturnRanges->push_back( *aCompIter ); aCompletedRanges.clear(); return *aReturnRanges; @@ -9439,7 +9428,7 @@ struct ScUniqueFormatsOrder OSL_ENSURE( rList1.size() > 0 && rList2.size() > 0, "ScUniqueFormatsOrder: empty list" ); // compare start positions using ScAddress comparison operator - return ( rList1[ 0 ]->aStart < rList2[ 0 ]->aStart ); + return ( rList1[ 0 ].aStart < rList2[ 0 ].aStart ); } }; diff --git a/sc/source/ui/unoobj/chart2uno.cxx b/sc/source/ui/unoobj/chart2uno.cxx index 96f527efca71..e0def91cb78b 100644 --- a/sc/source/ui/unoobj/chart2uno.cxx +++ b/sc/source/ui/unoobj/chart2uno.cxx @@ -2669,10 +2669,9 @@ void ScChart2DataSequence::UpdateTokensFromRanges(const ScRangeList& rRanges) for ( size_t i = 0, nCount = rRanges.size(); i < nCount; ++i ) { ScTokenRef pToken; - const ScRange* pRange = rRanges[i]; - OSL_ENSURE(pRange, "range object is nullptr."); + const ScRange & rRange = rRanges[i]; - ScRefTokenHelper::getTokenFromRange(pToken, *pRange); + ScRefTokenHelper::getTokenFromRange(pToken, rRange); sal_uInt32 nOrigPos = (*m_pRangeIndices)[i]; m_aTokens[nOrigPos] = pToken; } @@ -2756,7 +2755,7 @@ void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint { ScRange aRange; ScRefTokenHelper::getRangeFromToken(aRange, *itr, ScAddress()); - aRanges.Append(aRange); + aRanges.push_back(aRange); sal_uInt32 nPos = distance(itrBeg, itr); m_pRangeIndices->push_back(nPos); } diff --git a/sc/source/ui/unoobj/chartuno.cxx b/sc/source/ui/unoobj/chartuno.cxx index 1c7cb5672562..c146e3aba2e3 100644 --- a/sc/source/ui/unoobj/chartuno.cxx +++ b/sc/source/ui/unoobj/chartuno.cxx @@ -166,7 +166,7 @@ void SAL_CALL ScChartsObj::addNewByName( const OUString& rName, { ScRange aRange( static_cast<SCCOL>(pAry[i].StartColumn), pAry[i].StartRow, pAry[i].Sheet, static_cast<SCCOL>(pAry[i].EndColumn), pAry[i].EndRow, pAry[i].Sheet ); - pList->Append( aRange ); + pList->push_back( aRange ); } } ScRangeListRef xNewRanges( pList ); @@ -531,7 +531,7 @@ void ScChartObj::setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const uno: { ScRange aRange; ScUnoConversion::FillScRange( aRange, aCellRange ); - rRangeList->Append( aRange ); + rRangeList->push_back( aRange ); } if ( pDocShell ) { @@ -576,9 +576,9 @@ void ScChartObj::getFastPropertyValue( uno::Any& rValue, sal_Int32 nHandle ) con table::CellRangeAddress* pCellRanges = aCellRanges.getArray(); for (size_t i = 0; i < nCount; ++i) { - ScRange aRange(*(*rRangeList)[i]); + ScRange const & rRange = (*rRangeList)[i]; table::CellRangeAddress aCellRange; - ScUnoConversion::FillApiRange(aCellRange, aRange); + ScUnoConversion::FillApiRange(aCellRange, rRange); pCellRanges[i] = aCellRange; } rValue <<= aCellRanges; @@ -661,13 +661,13 @@ uno::Sequence<table::CellRangeAddress> SAL_CALL ScChartObj::getRanges() table::CellRangeAddress* pAry = aSeq.getArray(); for (size_t i = 0; i < nCount; i++) { - ScRange aRange( *(*xRanges)[i] ); + ScRange const & rRange = (*xRanges)[i]; - aRangeAddress.Sheet = aRange.aStart.Tab(); - aRangeAddress.StartColumn = aRange.aStart.Col(); - aRangeAddress.StartRow = aRange.aStart.Row(); - aRangeAddress.EndColumn = aRange.aEnd.Col(); - aRangeAddress.EndRow = aRange.aEnd.Row(); + aRangeAddress.Sheet = rRange.aStart.Tab(); + aRangeAddress.StartColumn = rRange.aStart.Col(); + aRangeAddress.StartRow = rRange.aStart.Row(); + aRangeAddress.EndColumn = rRange.aEnd.Col(); + aRangeAddress.EndRow = rRange.aEnd.Row(); pAry[i] = aRangeAddress; } @@ -694,7 +694,7 @@ void SAL_CALL ScChartObj::setRanges( const uno::Sequence<table::CellRangeAddress { ScRange aRange( static_cast<SCCOL>(pAry[i].StartColumn), pAry[i].StartRow, pAry[i].Sheet, static_cast<SCCOL>(pAry[i].EndColumn), pAry[i].EndRow, pAry[i].Sheet ); - pList->Append( aRange ); + pList->push_back( aRange ); } } ScRangeListRef xNewRanges( pList ); diff --git a/sc/source/ui/unoobj/condformatuno.cxx b/sc/source/ui/unoobj/condformatuno.cxx index 50fb8a76e326..4f1a5e4f0baa 100644 --- a/sc/source/ui/unoobj/condformatuno.cxx +++ b/sc/source/ui/unoobj/condformatuno.cxx @@ -354,7 +354,7 @@ sal_Int32 ScCondFormatsObj::createByRange(const uno::Reference< sheet::XSheetCel if (aCoreRange.empty()) throw lang::IllegalArgumentException(); - SCTAB nTab = aCoreRange[0]->aStart.Tab(); + SCTAB nTab = aCoreRange[0].aStart.Tab(); ScConditionalFormat* pNewFormat = new ScConditionalFormat(0, &mpDocShell->GetDocument()); pNewFormat->SetRange(aCoreRange); diff --git a/sc/source/ui/unoobj/cursuno.cxx b/sc/source/ui/unoobj/cursuno.cxx index edeaa08590f1..9431200524bf 100644 --- a/sc/source/ui/unoobj/cursuno.cxx +++ b/sc/source/ui/unoobj/cursuno.cxx @@ -98,7 +98,7 @@ void SAL_CALL ScCellCursorObj::collapseToCurrentRegion() SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); - ScRange aOneRange( *rRanges[ 0 ] ); + ScRange aOneRange( rRanges[ 0 ] ); aOneRange.PutInOrder(); ScDocShell* pDocSh = GetDocShell(); @@ -123,7 +123,7 @@ void SAL_CALL ScCellCursorObj::collapseToCurrentArray() SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); - ScRange aOneRange( *rRanges[ 0 ] ); + ScRange aOneRange( rRanges[ 0 ] ); aOneRange.PutInOrder(); ScAddress aCursor(aOneRange.aStart); // use the start address of the range @@ -158,7 +158,7 @@ void SAL_CALL ScCellCursorObj::collapseToMergedArea() { const ScRangeList& rRanges = GetRangeList(); OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); - ScRange aNewRange( *rRanges[ 0 ] ); + ScRange aNewRange( rRanges[ 0 ] ); ScDocument& rDoc = pDocSh->GetDocument(); rDoc.ExtendOverlapped( aNewRange ); @@ -173,7 +173,7 @@ void SAL_CALL ScCellCursorObj::expandToEntireColumns() SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); - ScRange aNewRange( *rRanges[ 0 ] ); + ScRange aNewRange( rRanges[ 0 ] ); aNewRange.aStart.SetRow( 0 ); aNewRange.aEnd.SetRow( MAXROW ); @@ -186,7 +186,7 @@ void SAL_CALL ScCellCursorObj::expandToEntireRows() SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); - ScRange aNewRange( *rRanges[ 0 ] ); + ScRange aNewRange( rRanges[ 0 ] ); aNewRange.aStart.SetCol( 0 ); aNewRange.aEnd.SetCol( MAXCOL ); @@ -206,7 +206,7 @@ void SAL_CALL ScCellCursorObj::collapseToSize( sal_Int32 nColumns, sal_Int32 nRo { const ScRangeList& rRanges = GetRangeList(); OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); - ScRange aNewRange( *rRanges[ 0 ] ); + ScRange aNewRange( rRanges[ 0 ] ); aNewRange.PutInOrder(); //! really? @@ -237,7 +237,7 @@ void SAL_CALL ScCellCursorObj::gotoStartOfUsedArea(sal_Bool bExpand) { const ScRangeList& rRanges = GetRangeList(); OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); - ScRange aNewRange( *rRanges[0] ); + ScRange aNewRange( rRanges[0] ); SCTAB nTab = aNewRange.aStart.Tab(); SCCOL nUsedX = 0; // fetch the beginning @@ -264,7 +264,7 @@ void SAL_CALL ScCellCursorObj::gotoEndOfUsedArea( sal_Bool bExpand ) { const ScRangeList& rRanges = GetRangeList(); OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); - ScRange aNewRange( *rRanges[ 0 ]); + ScRange aNewRange( rRanges[ 0 ]); SCTAB nTab = aNewRange.aStart.Tab(); SCCOL nUsedX = 0; // fetch the end @@ -293,7 +293,7 @@ void SAL_CALL ScCellCursorObj::gotoStart() SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); - ScRange aOneRange( *rRanges[ 0 ]); + ScRange aOneRange( rRanges[ 0 ]); aOneRange.PutInOrder(); ScDocShell* pDocSh = GetDocShell(); @@ -321,7 +321,7 @@ void SAL_CALL ScCellCursorObj::gotoEnd() SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); - ScRange aOneRange( *rRanges[ 0 ] ); + ScRange aOneRange( rRanges[ 0 ] ); aOneRange.PutInOrder(); ScDocShell* pDocSh = GetDocShell(); @@ -346,7 +346,7 @@ void SAL_CALL ScCellCursorObj::gotoNext() SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); - ScRange aOneRange( *rRanges[ 0 ] ); + ScRange aOneRange( rRanges[ 0 ] ); aOneRange.PutInOrder(); ScAddress aCursor(aOneRange.aStart); // always use start of block @@ -368,7 +368,7 @@ void SAL_CALL ScCellCursorObj::gotoPrevious() SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); - ScRange aOneRange( *rRanges[ 0 ] ); + ScRange aOneRange( rRanges[ 0 ] ); aOneRange.PutInOrder(); ScAddress aCursor(aOneRange.aStart); // always use start of block @@ -390,7 +390,7 @@ void SAL_CALL ScCellCursorObj::gotoOffset( sal_Int32 nColumnOffset, sal_Int32 nR SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" ); - ScRange aOneRange( *rRanges[ 0 ] ); + ScRange aOneRange( rRanges[ 0 ] ); aOneRange.PutInOrder(); if ( aOneRange.aStart.Col() + nColumnOffset >= 0 && diff --git a/sc/source/ui/unoobj/dapiuno.cxx b/sc/source/ui/unoobj/dapiuno.cxx index 0f4af4a65662..9c2a26d65b7a 100644 --- a/sc/source/ui/unoobj/dapiuno.cxx +++ b/sc/source/ui/unoobj/dapiuno.cxx @@ -1310,18 +1310,13 @@ void ScDataPilotTableObj::Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) else if ( dynamic_cast<const ScUpdateRefHint*>(&rHint) ) { ScRange aRange( 0, 0, nTab ); - ScRangeList aRanges; - aRanges.Append( aRange ); + ScRangeList aRanges( aRange ); const ScUpdateRefHint& rRef = static_cast< const ScUpdateRefHint& >( rHint ); if ( aRanges.UpdateReference( rRef.GetMode(), &GetDocShell()->GetDocument(), rRef.GetRange(), rRef.GetDx(), rRef.GetDy(), rRef.GetDz() ) && aRanges.size() == 1 ) { - const ScRange* pRange = aRanges.front(); - if ( pRange ) - { - nTab = pRange->aStart.Tab(); - } + nTab = aRanges.front().aStart.Tab(); } } diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx index 8d3881bb99b1..6eeeef3c9684 100644 --- a/sc/source/ui/unoobj/docuno.cxx +++ b/sc/source/ui/unoobj/docuno.cxx @@ -2952,14 +2952,14 @@ void ScModelObj::NotifyChanges( const OUString& rOperation, const ScRangeList& r { uno::Reference< table::XCellRange > xRangeObj; - ScRange aRange( *rRanges[ nIndex ] ); - if ( aRange.aStart == aRange.aEnd ) + ScRange const & rRange = rRanges[ nIndex ]; + if ( rRange.aStart == rRange.aEnd ) { - xRangeObj.set( new ScCellObj( pDocShell, aRange.aStart ) ); + xRangeObj.set( new ScCellObj( pDocShell, rRange.aStart ) ); } else { - xRangeObj.set( new ScCellRangeObj( pDocShell, aRange ) ); + xRangeObj.set( new ScCellRangeObj( pDocShell, rRange ) ); } util::ElementChange& rChange = aEvent.Changes[ static_cast< sal_Int32 >( nIndex ) ]; @@ -3003,9 +3003,9 @@ void ScModelObj::NotifyChanges( const OUString& rOperation, const ScRangeList& r size_t nRangeCount = rRanges.size(); for ( size_t nIndex = 0; nIndex < nRangeCount; ++nIndex ) { - ScRange aRange( *rRanges[ nIndex ] ); - if ( aRange.aStart.Tab() == nTab ) - aTabRanges.Append( aRange ); + ScRange const & rRange = rRanges[ nIndex ]; + if ( rRange.aStart.Tab() == nTab ) + aTabRanges.push_back( rRange ); } size_t nTabRangeCount = aTabRanges.size(); if ( nTabRangeCount > 0 ) @@ -3013,11 +3013,11 @@ void ScModelObj::NotifyChanges( const OUString& rOperation, const ScRangeList& r uno::Reference<uno::XInterface> xTarget; if ( nTabRangeCount == 1 ) { - ScRange aRange( *aTabRanges[ 0 ] ); - if ( aRange.aStart == aRange.aEnd ) - xTarget.set( static_cast<cppu::OWeakObject*>( new ScCellObj( pDocShell, aRange.aStart ) ) ); + ScRange const & rRange = aTabRanges[ 0 ]; + if ( rRange.aStart == rRange.aEnd ) + xTarget.set( static_cast<cppu::OWeakObject*>( new ScCellObj( pDocShell, rRange.aStart ) ) ); else - xTarget.set( static_cast<cppu::OWeakObject*>( new ScCellRangeObj( pDocShell, aRange ) ) ); + xTarget.set( static_cast<cppu::OWeakObject*>( new ScCellRangeObj( pDocShell, rRange ) ) ); } else xTarget.set( static_cast<cppu::OWeakObject*>( new ScCellRangesObj( pDocShell, aTabRanges ) ) ); @@ -3633,9 +3633,8 @@ uno::Sequence < uno::Reference< table::XCellRange > > SAL_CALL ScTableSheetsObj: xRet.realloc(nCount); for( size_t nIndex = 0; nIndex < nCount; nIndex++ ) { - const ScRange* pRange = aRangeList[ nIndex ]; - if( pRange ) - xRet[nIndex] = new ScCellRangeObj(pDocShell, *pRange); + const ScRange & rRange = aRangeList[ nIndex ]; + xRet[nIndex] = new ScCellRangeObj(pDocShell, rRange); } return xRet; diff --git a/sc/source/ui/unoobj/funcuno.cxx b/sc/source/ui/unoobj/funcuno.cxx index 01f202642137..68cf909663f4 100644 --- a/sc/source/ui/unoobj/funcuno.cxx +++ b/sc/source/ui/unoobj/funcuno.cxx @@ -549,18 +549,18 @@ uno::Any SAL_CALL ScFunctionAccess::callFunction( const OUString& aName, const ScRangeList& rRanges = pImpl->GetRangeList(); if ( pSrcDoc && rRanges.size() == 1 ) { - ScRange aSrcRange = *rRanges[ 0 ]; + ScRange const & rSrcRange = rRanges[ 0 ]; long nStartRow = nDocRow; - long nColCount = aSrcRange.aEnd.Col() - aSrcRange.aStart.Col() + 1; - long nRowCount = aSrcRange.aEnd.Row() - aSrcRange.aStart.Row() + 1; + long nColCount = rSrcRange.aEnd.Col() - rSrcRange.aStart.Col() + 1; + long nRowCount = rSrcRange.aEnd.Row() - rSrcRange.aStart.Row() + 1; if ( nStartRow + nRowCount > MAXROWCOUNT ) bOverflow = true; else { // copy data - if ( !lcl_CopyData( pSrcDoc, aSrcRange, pDoc, ScAddress( 0, static_cast<SCROW>(nDocRow), 0 ) ) ) + if ( !lcl_CopyData( pSrcDoc, rSrcRange, pDoc, ScAddress( 0, static_cast<SCROW>(nDocRow), 0 ) ) ) bOverflow = true; } diff --git a/sc/source/ui/unoobj/viewuno.cxx b/sc/source/ui/unoobj/viewuno.cxx index d2538279d043..ec637f1272e8 100644 --- a/sc/source/ui/unoobj/viewuno.cxx +++ b/sc/source/ui/unoobj/viewuno.cxx @@ -626,8 +626,8 @@ static bool lcl_TabInRanges( SCTAB nTab, const ScRangeList& rRanges ) { for (size_t i = 0, nCount = rRanges.size(); i < nCount; ++i) { - const ScRange* pRange = rRanges[ i ]; - if ( nTab >= pRange->aStart.Tab() && nTab <= pRange->aEnd.Tab() ) + const ScRange & rRange = rRanges[ i ]; + if ( nTab >= rRange.aStart.Tab() && nTab <= rRange.aEnd.Tab() ) return true; } return false; @@ -739,25 +739,22 @@ sal_Bool SAL_CALL ScTabViewObj::select( const uno::Any& aSelection ) if ( nRangeCount == 0 ) pViewSh->Unmark(); else if ( nRangeCount == 1 ) - pViewSh->MarkRange( *rRanges[ 0 ] ); + pViewSh->MarkRange( rRanges[ 0 ] ); else { // multiselection - const ScRange* pFirst = rRanges[ 0 ]; - if ( pFirst && !lcl_TabInRanges( rViewData.GetTabNo(), rRanges ) ) - pViewSh->SetTabNo( pFirst->aStart.Tab() ); + const ScRange & rFirst = rRanges[ 0 ]; + if ( !lcl_TabInRanges( rViewData.GetTabNo(), rRanges ) ) + pViewSh->SetTabNo( rFirst.aStart.Tab() ); pViewSh->DoneBlockMode(); pViewSh->InitOwnBlockMode(); rViewData.GetMarkData().MarkFromRangeList( rRanges, true ); pViewSh->MarkDataChanged(); rViewData.GetDocShell()->PostPaintGridAll(); // Marks (old&new) - if ( pFirst ) - { - pViewSh->AlignToCursor( pFirst->aStart.Col(), pFirst->aStart.Row(), - SC_FOLLOW_JUMP ); - pViewSh->SetCursor( pFirst->aStart.Col(), pFirst->aStart.Row() ); - } + pViewSh->AlignToCursor( rFirst.aStart.Col(), rFirst.aStart.Row(), + SC_FOLLOW_JUMP ); + pViewSh->SetCursor( rFirst.aStart.Col(), rFirst.aStart.Row() ); //! method of the view to select RangeList } @@ -922,7 +919,7 @@ uno::Any SAL_CALL ScTabViewObj::getSelection() break; case 1: { - const ScRange& rRange = *(aRangeList[ 0 ]); + const ScRange& rRange = aRangeList[ 0 ]; if (rRange.aStart == rRange.aEnd) pObj = new ScCellObj( pDocSh, rRange.aStart ); else @@ -1086,7 +1083,7 @@ void SAL_CALL ScTabViewObj::setActiveSheet( const uno::Reference<sheet::XSpreads const ScRangeList& rRanges = pRangesImp->GetRangeList(); if ( rRanges.size() == 1 ) { - SCTAB nNewTab = rRanges[ 0 ]->aStart.Tab(); + SCTAB nNewTab = rRanges[ 0 ].aStart.Tab(); if ( pViewSh->GetViewData().GetDocument()->HasTable(nNewTab) ) pViewSh->SetTabNo( nNewTab ); } diff --git a/sc/source/ui/vba/vbaapplication.cxx b/sc/source/ui/vba/vbaapplication.cxx index 58cc3e9451cf..978de7118fce 100644 --- a/sc/source/ui/vba/vbaapplication.cxx +++ b/sc/source/ui/vba/vbaapplication.cxx @@ -1127,11 +1127,11 @@ uno::Reference< excel::XRange > lclCreateVbaRange( ScRangeList aCellRanges; for( ListOfScRange::const_iterator aIt = rList.begin(), aEnd = rList.end(); aIt != aEnd; ++aIt ) - aCellRanges.Append( *aIt ); + aCellRanges.push_back( *aIt ); if( aCellRanges.size() == 1 ) { - uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pDocShell, *aCellRanges.front() ) ); + uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pDocShell, aCellRanges.front() ) ); return new ScVbaRange( excel::getUnoSheetModuleObj( xRange ), rxContext, xRange ); } if( aCellRanges.size() > 1 ) diff --git a/sc/source/ui/vba/vbaeventshelper.cxx b/sc/source/ui/vba/vbaeventshelper.cxx index 24ae774e4e92..400f6459fa3b 100644 --- a/sc/source/ui/vba/vbaeventshelper.cxx +++ b/sc/source/ui/vba/vbaeventshelper.cxx @@ -385,7 +385,7 @@ void SAL_CALL ScVbaEventListener::changesOccurred( const util::ChangesEvent& rEv { ScRange aRange; ScUnoConversion::FillScRange( aRange, xCellRangeAddressable->getRangeAddress() ); - aRangeList.Append( aRange ); + aRangeList.push_back( aRange ); } } } @@ -829,7 +829,7 @@ bool lclSelectionChanged( const ScRangeList& rLeft, const ScRangeList& rRight ) return !(bLeftEmpty && bRightEmpty); // check sheet indexes of the range lists (assuming that all ranges in a list are on the same sheet) - if (rLeft[0]->aStart.Tab() != rRight[0]->aStart.Tab()) + if (rLeft[0].aStart.Tab() != rRight[0].aStart.Tab()) return false; // compare all ranges diff --git a/sc/source/ui/vba/vbahyperlinks.cxx b/sc/source/ui/vba/vbahyperlinks.cxx index 148e774b3b17..7e46e38a1c6d 100644 --- a/sc/source/ui/vba/vbahyperlinks.cxx +++ b/sc/source/ui/vba/vbahyperlinks.cxx @@ -42,7 +42,7 @@ bool lclContains( const ScRangeList& rScOuter, const uno::Reference< excel::XRan throw uno::RuntimeException("Empty range objects" ); for( size_t nIndex = 0, nCount = rScInner.size(); nIndex < nCount; ++nIndex ) - if( !rScOuter.In( *rScInner[ nIndex ] ) ) + if( !rScOuter.In( rScInner[ nIndex ] ) ) return false; return true; } @@ -89,7 +89,7 @@ bool EqualAnchorFunctor::operator()( const uno::Reference< excel::XHyperlink >& uno::Reference< excel::XRange > xAnchorRange( rxHlink->getRange(), uno::UNO_QUERY_THROW ); const ScRangeList& rScRanges1 = ScVbaRange::getScRangeList( xAnchorRange ); const ScRangeList& rScRanges2 = ScVbaRange::getScRangeList( mxAnchorRange ); - return (rScRanges1.size() == 1) && (rScRanges2.size() == 1) && (*rScRanges1[ 0 ] == *rScRanges2[ 0 ]); + return (rScRanges1.size() == 1) && (rScRanges2.size() == 1) && (rScRanges1[ 0 ] == rScRanges2[ 0 ]); } case office::MsoHyperlinkType::msoHyperlinkShape: case office::MsoHyperlinkType::msoHyperlinkInlineShape: diff --git a/sc/source/ui/vba/vbanames.cxx b/sc/source/ui/vba/vbanames.cxx index 553d796a7c83..42b290c67df3 100644 --- a/sc/source/ui/vba/vbanames.cxx +++ b/sc/source/ui/vba/vbanames.cxx @@ -170,7 +170,7 @@ ScVbaNames::Add( const css::uno::Any& Name , if ( ScVbaRange::getCellRangesForAddress( nFlags, sFormula, pDocSh, aCellRanges, eConv , ',' ) ) { if ( aCellRanges.size() == 1 ) - xUnoRange = new ScCellRangeObj( pDocSh, *aCellRanges.front() ); + xUnoRange = new ScCellRangeObj( pDocSh, aCellRanges.front() ); else { uno::Reference< sheet::XSheetCellRangeContainer > xRanges( new ScCellRangesObj( pDocSh, aCellRanges ) ); diff --git a/sc/source/ui/vba/vbapagesetup.cxx b/sc/source/ui/vba/vbapagesetup.cxx index dd4a0169ee64..a86c013d3ab8 100644 --- a/sc/source/ui/vba/vbapagesetup.cxx +++ b/sc/source/ui/vba/vbapagesetup.cxx @@ -78,7 +78,7 @@ OUString SAL_CALL ScVbaPageSetup::getPrintArea() { ScRange aRange; ScUnoConversion::FillScRange( aRange, aSeq[i] ); - aRangeList.Append( aRange ); + aRangeList.push_back( aRange ); } ScDocument& rDoc = excel::getDocShell( mxModel )->GetDocument(); aRangeList.Format( aPrintArea, ScRefFlags::RANGE_ABS, &rDoc, formula::FormulaGrammar::CONV_XL_A1, ',' ); @@ -106,9 +106,9 @@ void SAL_CALL ScVbaPageSetup::setPrintArea( const OUString& rAreas ) uno::Sequence< table::CellRangeAddress > aSeq( aCellRanges.size() ); for ( size_t i = 0, nRanges = aCellRanges.size(); i < nRanges; ++i ) { - ScRange* pRange = aCellRanges[ i ]; + ScRange & rRange = aCellRanges[ i ]; table::CellRangeAddress aRangeAddress; - ScUnoConversion::FillApiRange( aRangeAddress, *pRange ); + ScUnoConversion::FillApiRange( aRangeAddress, rRange ); aSeq[ i++ ] = aRangeAddress; } xPrintAreas->setPrintAreas( aSeq ); diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx index f9577e461c74..00e3b6c47151 100644 --- a/sc/source/ui/vba/vbarange.cxx +++ b/sc/source/ui/vba/vbarange.cxx @@ -236,12 +236,12 @@ static uno::Reference< excel::XRange > lcl_makeXRangeFromSheetCellRanges( const { ScRange refRange; ScUnoConversion::FillScRange( refRange, sAddresses[ index ] ); - aCellRanges.Append( refRange ); + aCellRanges.push_back( refRange ); } // Single range if ( aCellRanges.size() == 1 ) { - uno::Reference< table::XCellRange > xTmpRange( new ScCellRangeObj( pDoc, *aCellRanges.front() ) ); + uno::Reference< table::XCellRange > xTmpRange( new ScCellRangeObj( pDoc, aCellRanges.front() ) ); xRange = new ScVbaRange( xParent, xContext, xTmpRange ); } else @@ -883,7 +883,7 @@ protected: if ( pUnoRangesBase ) { ScRangeList aCellRanges = pUnoRangesBase->GetRangeList(); - ScCompiler aCompiler( m_pDoc, aCellRanges.front()->aStart, m_eGrammar ); + ScCompiler aCompiler( m_pDoc, aCellRanges.front().aStart, m_eGrammar ); // compile the string in the format passed in std::unique_ptr<ScTokenArray> pArray(aCompiler.CompileString(sFormula)); // set desired convention to that of the document @@ -926,7 +926,7 @@ public: pUnoRangesBase ) { ScRangeList aCellRanges = pUnoRangesBase->GetRangeList(); - ScCompiler aCompiler( m_pDoc, aCellRanges.front()->aStart, formula::FormulaGrammar::GRAM_DEFAULT ); + ScCompiler aCompiler( m_pDoc, aCellRanges.front().aStart, formula::FormulaGrammar::GRAM_DEFAULT ); std::unique_ptr<ScTokenArray> pArray(aCompiler.CompileString(sVal)); // set desired convention aCompiler.SetGrammar( m_eGrammar ); @@ -1217,13 +1217,13 @@ bool getScRangeListForAddress( const OUString& sName, ScDocShell* pDocSh, const for ( size_t i = 0, nRanges = aCellRanges.size(); i < nRanges; ++i ) { - ScRange* pRange = aCellRanges[ i ]; - pRange->aStart.SetCol( refRange.aStart.Col() + pRange->aStart.Col() ); - pRange->aStart.SetRow( refRange.aStart.Row() + pRange->aStart.Row() ); - pRange->aStart.SetTab( bTabFromReferrer ? refRange.aStart.Tab() : pRange->aStart.Tab() ); - pRange->aEnd.SetCol( refRange.aStart.Col() + pRange->aEnd.Col() ); - pRange->aEnd.SetRow( refRange.aStart.Row() + pRange->aEnd.Row() ); - pRange->aEnd.SetTab( bTabFromReferrer ? refRange.aEnd.Tab() : pRange->aEnd.Tab() ); + ScRange & rRange = aCellRanges[ i ]; + rRange.aStart.SetCol( refRange.aStart.Col() + rRange.aStart.Col() ); + rRange.aStart.SetRow( refRange.aStart.Row() + rRange.aStart.Row() ); + rRange.aStart.SetTab( bTabFromReferrer ? refRange.aStart.Tab() : rRange.aStart.Tab() ); + rRange.aEnd.SetCol( refRange.aStart.Col() + rRange.aEnd.Col() ); + rRange.aEnd.SetRow( refRange.aStart.Row() + rRange.aEnd.Row() ); + rRange.aEnd.SetTab( bTabFromReferrer ? refRange.aEnd.Tab() : rRange.aEnd.Tab() ); } } return true; @@ -1241,7 +1241,7 @@ getRangeForName( const uno::Reference< uno::XComponentContext >& xContext, const // Single range if ( aCellRanges.size() == 1 ) { - uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pDocSh, *aCellRanges.front() ) ); + uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pDocSh, aCellRanges.front() ) ); uno::Reference< XHelperInterface > xFixThisParent = excel::getUnoSheetModuleObj( xRange ); return new ScVbaRange( xFixThisParent, xContext, xRange ); } @@ -1305,7 +1305,7 @@ uno::Reference< sheet::XSheetCellRangeContainer > lclExpandToMerged( const uno:: table::CellRangeAddress aRangeAddr = lclGetRangeAddress( lclExpandToMerged( xRange, bRecursive ) ); ScRange aScRange; ScUnoConversion::FillScRange( aScRange, aRangeAddr ); - aScRanges.Append( aScRange ); + aScRanges.push_back( aScRange ); } return new ScCellRangesObj( getDocShellFromRanges( rxCellRanges ), aScRanges ); } @@ -1387,7 +1387,7 @@ table::CellRangeAddress getCellRangeAddressForVBARange( const uno::Any& aParam, if ( aCellRanges.size() == 1 ) { table::CellRangeAddress aRangeAddress; - ScUnoConversion::FillApiRange( aRangeAddress, *aCellRanges.front() ); + ScUnoConversion::FillApiRange( aRangeAddress, aCellRanges.front() ); return aRangeAddress; } } @@ -1786,8 +1786,8 @@ ScVbaRange::HasFormula() // check if there are holes (where some cells are not formulas) // or returned range is not equal to this range if ( ( pFormulaRanges->GetRangeList().size() > 1 ) - || ( pFormulaRanges->GetRangeList().front()->aStart != pThisRanges->GetRangeList().front()->aStart ) - || ( pFormulaRanges->GetRangeList().front()->aEnd != pThisRanges->GetRangeList().front()->aEnd ) + || ( pFormulaRanges->GetRangeList().front().aStart != pThisRanges->GetRangeList().front().aStart ) + || ( pFormulaRanges->GetRangeList().front().aEnd != pThisRanges->GetRangeList().front().aEnd ) ) return aNULL(); // should return aNULL; } @@ -1872,16 +1872,16 @@ ScVbaRange::Offset( const ::uno::Any &nRowOff, const uno::Any &nColOff ) for ( size_t i = 0, nRanges = aCellRanges.size(); i < nRanges; ++i ) { - ScRange* pRange = aCellRanges[ i ]; + ScRange & rRange = aCellRanges[ i ]; if ( bIsColumnOffset ) { - pRange->aStart.SetCol( pRange->aStart.Col() + nColOffset ); - pRange->aEnd.SetCol( pRange->aEnd.Col() + nColOffset ); + rRange.aStart.SetCol( rRange.aStart.Col() + nColOffset ); + rRange.aEnd.SetCol( rRange.aEnd.Col() + nColOffset ); } if ( bIsRowOffset ) { - pRange->aStart.SetRow( pRange->aStart.Row() + nRowOffset ); - pRange->aEnd.SetRow( pRange->aEnd.Row() + nRowOffset ); + rRange.aStart.SetRow( rRange.aStart.Row() + nRowOffset ); + rRange.aEnd.SetRow( rRange.aEnd.Row() + nRowOffset ); } } @@ -1891,7 +1891,7 @@ ScVbaRange::Offset( const ::uno::Any &nRowOff, const uno::Any &nColOff ) return new ScVbaRange( mxParent, mxContext, xRanges ); } // normal range - uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), *aCellRanges.front() ) ); + uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), aCellRanges.front() ) ); return new ScVbaRange( mxParent, mxContext, xRange ); } @@ -2007,7 +2007,7 @@ ScVbaRange::setFormulaArray(const uno::Any& rFormula) ScTokenArray aTokenArray; (void)ScTokenConversion::ConvertToTokenArray( getScDocument(), aTokenArray, aTokens ); - getScDocShell()->GetDocFunc().EnterMatrix( *getScRangeList()[0], nullptr, &aTokenArray, OUString(), true, true, EMPTY_OUSTRING, formula::FormulaGrammar::GRAM_API ); + getScDocShell()->GetDocFunc().EnterMatrix( getScRangeList()[0], nullptr, &aTokenArray, OUString(), true, true, EMPTY_OUSTRING, formula::FormulaGrammar::GRAM_API ); } OUString @@ -2352,7 +2352,7 @@ ScVbaRange::Rows(const uno::Any& aIndex ) ScCellRangesBase* pUnoRangesBase = getCellRangesBase(); ScRangeList aCellRanges = pUnoRangesBase->GetRangeList(); - ScRange aRange = *aCellRanges.front(); + ScRange aRange = aCellRanges.front(); if( aIndex >>= nValue ) { aRange.aStart.SetRow( aRange.aStart.Row() + --nValue ); @@ -2392,7 +2392,7 @@ ScVbaRange::Columns(const uno::Any& aIndex ) ScCellRangesBase* pUnoRangesBase = getCellRangesBase(); ScRangeList aCellRanges = pUnoRangesBase->GetRangeList(); - ScRange aRange = *aCellRanges.front(); + ScRange aRange = aCellRanges.front(); if ( aIndex.hasValue() ) { sal_Int32 nValue = 0; @@ -2882,16 +2882,16 @@ ScVbaRange::getEntireColumnOrRow( bool bColumn ) for ( size_t i = 0, nRanges = aCellRanges.size(); i < nRanges; ++i ) { - ScRange* pRange = aCellRanges[ i ]; + ScRange & rRange = aCellRanges[ i ]; if ( bColumn ) { - pRange->aStart.SetRow( 0 ); - pRange->aEnd.SetRow( MAXROW ); + rRange.aStart.SetRow( 0 ); + rRange.aEnd.SetRow( MAXROW ); } else { - pRange->aStart.SetCol( 0 ); - pRange->aEnd.SetCol( MAXCOL ); + rRange.aStart.SetCol( 0 ); + rRange.aEnd.SetCol( MAXCOL ); } } if ( aCellRanges.size() > 1 ) // Multi-Area @@ -2900,7 +2900,7 @@ ScVbaRange::getEntireColumnOrRow( bool bColumn ) return new ScVbaRange( mxParent, mxContext, xRanges, !bColumn, bColumn ); } - uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), *aCellRanges.front() ) ); + uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), aCellRanges.front() ) ); return new ScVbaRange( mxParent, mxContext, xRange, !bColumn, bColumn ); } @@ -5416,12 +5416,12 @@ ScVbaRange::SpecialCells( const uno::Any& _oType, const uno::Any& _oValue) { ScRange refRange; ScUnoConversion::FillScRange( refRange, *it ); - aCellRanges.Append( refRange ); + aCellRanges.push_back( refRange ); } // Single range if ( aCellRanges.size() == 1 ) { - uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( getScDocShell(), *aCellRanges.front() ) ); + uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( getScDocShell(), aCellRanges.front() ) ); return new ScVbaRange( mxParent, mxContext, xRange ); } uno::Reference< sheet::XSheetCellRangeContainer > xRanges( new ScCellRangesObj( getScDocShell(), aCellRanges ) ); diff --git a/sc/source/ui/view/cellsh.cxx b/sc/source/ui/view/cellsh.cxx index 0608924fcdde..daf883084096 100644 --- a/sc/source/ui/view/cellsh.cxx +++ b/sc/source/ui/view/cellsh.cxx @@ -1109,7 +1109,7 @@ void ScCellShell::GetState(SfxItemSet &rSet) if (pDoc->HasTabNotes( rTab )) { bHasNotes = true; - aRanges.Append(ScRange(0,0,rTab,MAXCOL,MAXROW,rTab)); + aRanges.push_back(ScRange(0,0,rTab,MAXCOL,MAXROW,rTab)); } } diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx index e92e560d99d2..93779d60752b 100644 --- a/sc/source/ui/view/cellsh1.cxx +++ b/sc/source/ui/view/cellsh1.cxx @@ -1978,8 +1978,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) ScAddress aPos(pData->GetCurX(), pData->GetCurY(), pData->GetTabNo()); if(aRangeList.empty()) { - ScRange* pRange = new ScRange(aPos); - aRangeList.push_back(pRange); + aRangeList.push_back(ScRange(aPos)); } const ScConditionalFormat* pCondFormat = nullptr; @@ -2290,12 +2289,12 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) for ( size_t i = 0; i < nRangeSize; ++i ) { - const ScRange * pRange = aRanges[i]; - const SCROW nRow0 = pRange->aStart.Row(); - const SCROW nRow1 = pRange->aEnd.Row(); - const SCCOL nCol0 = pRange->aStart.Col(); - const SCCOL nCol1 = pRange->aEnd.Col(); - const SCTAB nRangeTab = pRange->aStart.Tab(); + const ScRange & rRange = aRanges[i]; + const SCROW nRow0 = rRange.aStart.Row(); + const SCROW nRow1 = rRange.aEnd.Row(); + const SCCOL nCol0 = rRange.aStart.Col(); + const SCCOL nCol1 = rRange.aEnd.Col(); + const SCTAB nRangeTab = rRange.aStart.Tab(); // Check by each cell for ( SCROW nRow = nRow0; nRow <= nRow1; ++nRow ) { @@ -2362,7 +2361,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) std::vector<sc::NoteEntry> aNotes; for (auto const& rTab : rMark.GetSelectedTabs()) - aRanges.Append(ScRange(0,0,rTab,MAXCOL,MAXROW,rTab)); + aRanges.push_back(ScRange(0,0,rTab,MAXCOL,MAXROW,rTab)); CommentCaptionState eState = pDoc->GetAllNoteCaptionsState( aRanges ); pDoc->GetNotesInRange(aRanges, aNotes); @@ -2416,7 +2415,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) for (auto const& rTab : rMark.GetSelectedTabs()) { - aRangeList.Append(ScRange(0,0,rTab,MAXCOL,MAXROW,rTab)); + aRangeList.push_back(ScRange(0,0,rTab,MAXCOL,MAXROW,rTab)); } aNewMark.MarkFromRangeList( aRangeList, true ); diff --git a/sc/source/ui/view/cliputil.cxx b/sc/source/ui/view/cliputil.cxx index 4eead7dee2f3..f3cd331e94e3 100644 --- a/sc/source/ui/view/cliputil.cxx +++ b/sc/source/ui/view/cliputil.cxx @@ -100,7 +100,7 @@ bool ScClipUtil::CheckDestRanges( { for (size_t i = 0, n = rDest.size(); i < n; ++i) { - ScRange aTest = *rDest[i]; + ScRange aTest = rDest[i]; // Check for filtered rows in all selected sheets. ScMarkData::const_iterator itrTab = rMark.begin(), itrTabEnd = rMark.end(); for (; itrTab != itrTabEnd; ++itrTab) diff --git a/sc/source/ui/view/dbfunc3.cxx b/sc/source/ui/view/dbfunc3.cxx index dd81e409baca..38b6d6a54fb0 100644 --- a/sc/source/ui/view/dbfunc3.cxx +++ b/sc/source/ui/view/dbfunc3.cxx @@ -713,12 +713,12 @@ void ScDBFunc::GetSelectedMemberList(ScDPUniqueStringSet& rEntries, long& rDimen for (size_t nRangePos=0; nRangePos < nRangeCount && bContinue; nRangePos++) { - ScRange aRange = *(*xRanges)[nRangePos]; - SCCOL nStartCol = aRange.aStart.Col(); - SCROW nStartRow = aRange.aStart.Row(); - SCCOL nEndCol = aRange.aEnd.Col(); - SCROW nEndRow = aRange.aEnd.Row(); - SCTAB nTab = aRange.aStart.Tab(); + ScRange const & rRange = (*xRanges)[nRangePos]; + SCCOL nStartCol = rRange.aStart.Col(); + SCROW nStartRow = rRange.aStart.Row(); + SCCOL nEndCol = rRange.aEnd.Col(); + SCROW nEndRow = rRange.aEnd.Row(); + SCTAB nTab = rRange.aStart.Tab(); for (SCROW nRow=nStartRow; nRow<=nEndRow && bContinue; nRow++) for (SCCOL nCol=nStartCol; nCol<=nEndCol && bContinue; nCol++) diff --git a/sc/source/ui/view/drawvie4.cxx b/sc/source/ui/view/drawvie4.cxx index bee41f56eee0..2571d95f6bfe 100644 --- a/sc/source/ui/view/drawvie4.cxx +++ b/sc/source/ui/view/drawvie4.cxx @@ -258,7 +258,7 @@ void getOleSourceRanges(const SdrMarkList& rMarkList, bool& rAnyOle, bool& rOneO if (aRange.Parse(*it, pDoc, pDoc->GetAddressConvention()) & ScRefFlags::VALID) { for(size_t i = 0; i < aRange.size(); ++i) - pRanges->push_back(*aRange[i]); + pRanges->push_back(aRange[i]); } else if (aAddr.Parse(*it, pDoc, pDoc->GetAddressConvention()) & ScRefFlags::VALID) pRanges->push_back(aAddr); diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index 4795290aa909..edca231aee27 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -5270,7 +5270,7 @@ bool ScGridWindow::HasScenarioButton( const Point& rPosPixel, ScRange& rScenRang size_t nRangeCount = aRanges.size(); for (size_t j=0; j< nRangeCount; ++j) { - ScRange aRange = *aRanges[j]; + ScRange aRange = aRanges[j]; // Always extend scenario frame to merged cells where no new non-covered cells // are framed pDoc->ExtendTotalMerge( aRange ); @@ -5704,14 +5704,14 @@ void ScGridWindow::UpdateCopySourceOverlay() mpOOSelectionBorder.reset(new sdr::overlay::OverlayObjectList); for ( size_t i = 0; i < rClipParam.maRanges.size(); ++i ) { - ScRange* p = rClipParam.maRanges[i]; - if (p->aStart.Tab() != nCurTab) + ScRange const & r = rClipParam.maRanges[i]; + if (r.aStart.Tab() != nCurTab) continue; - SCCOL nClipStartX = p->aStart.Col(); - SCROW nClipStartY = p->aStart.Row(); - SCCOL nClipEndX = p->aEnd.Col(); - SCROW nClipEndY = p->aEnd.Row(); + SCCOL nClipStartX = r.aStart.Col(); + SCROW nClipStartY = r.aStart.Row(); + SCCOL nClipEndX = r.aEnd.Col(); + SCROW nClipEndY = r.aEnd.Row(); Point aClipStartScrPos = pViewData->GetScrPos( nClipStartX, nClipStartY, eWhich ); Point aClipEndScrPos = pViewData->GetScrPos( nClipEndX + 1, nClipEndY + 1, eWhich ); diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx index 81f9bf233f01..cd20ed0c493f 100644 --- a/sc/source/ui/view/gridwin4.cxx +++ b/sc/source/ui/view/gridwin4.cxx @@ -206,7 +206,7 @@ static void lcl_DrawScenarioFrames( OutputDevice* pDev, ScViewData* pViewData, S for (size_t j = 0, n = xRanges->size(); j < n; ++j) { - ScRange aRange = *(*xRanges)[j]; + ScRange aRange = (*xRanges)[j]; // Always extend scenario frame to merged cells where no new non-covered cells // are framed pDoc->ExtendTotalMerge( aRange ); diff --git a/sc/source/ui/view/gridwin_dbgutil.cxx b/sc/source/ui/view/gridwin_dbgutil.cxx index e6cd83a73a84..f4ff902cf9ac 100644 --- a/sc/source/ui/view/gridwin_dbgutil.cxx +++ b/sc/source/ui/view/gridwin_dbgutil.cxx @@ -100,13 +100,11 @@ void ScGridWindow::dumpCellProperties() for (size_t i = 0, n = aList.size(); i < n; ++i) { - ScRange* pRange = aList[i]; - if (!pRange) - continue; + ScRange const & rRange = aList[i]; - for (SCCOL nCol = pRange->aStart.Col(); nCol <= pRange->aEnd.Col(); ++nCol) + for (SCCOL nCol = rRange.aStart.Col(); nCol <= rRange.aEnd.Col(); ++nCol) { - for (SCROW nRow = pRange->aStart.Row(); nRow <= pRange->aEnd.Row(); ++nRow) + for (SCROW nRow = rRange.aStart.Row(); nRow <= rRange.aEnd.Row(); ++nRow) { const ScPatternAttr* pPatternAttr = pDoc->GetPattern(nCol, nRow, nTab); xmlTextWriterStartElement(writer, BAD_CAST("cell")); diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx index a789e66086b8..41bd76e976ad 100644 --- a/sc/source/ui/view/tabview3.cxx +++ b/sc/source/ui/view/tabview3.cxx @@ -2488,11 +2488,11 @@ void ScTabView::DoChartSelection( size_t nListSize = aRangeList.size(); for ( size_t j = 0; j < nListSize; ++j ) { - ScRange* p = aRangeList[j]; + ScRange const & r = aRangeList[j]; if( rHighlightedRange.Index == - 1 ) - AddHighlightRange( *p, aSelColor ); + AddHighlightRange( r, aSelColor ); else - AddHighlightRange( lcl_getSubRangeByIndex( *p, rHighlightedRange.Index ), aSelColor ); + AddHighlightRange( lcl_getSubRangeByIndex( r, rHighlightedRange.Index ), aSelColor ); } } } diff --git a/sc/source/ui/view/tabvwshc.cxx b/sc/source/ui/view/tabvwshc.cxx index f7503752280d..46fe3f1629c2 100644 --- a/sc/source/ui/view/tabvwshc.cxx +++ b/sc/source/ui/view/tabvwshc.cxx @@ -614,24 +614,21 @@ bool ScTabViewShell::UseSubTotal(ScRangeList* pRangeList) size_t nRangeIndex (0); while (!bSubTotal && nRangeIndex < nRangeCount) { - const ScRange* pRange = (*pRangeList)[nRangeIndex]; - if( pRange ) - { - SCTAB nTabEnd(pRange->aEnd.Tab()); - SCTAB nTab(pRange->aStart.Tab()); - while (!bSubTotal && nTab <= nTabEnd) + const ScRange& rRange = (*pRangeList)[nRangeIndex]; + SCTAB nTabEnd(rRange.aEnd.Tab()); + SCTAB nTab(rRange.aStart.Tab()); + while (!bSubTotal && nTab <= nTabEnd) + { + SCROW nRowEnd(rRange.aEnd.Row()); + SCROW nRow(rRange.aStart.Row()); + while (!bSubTotal && nRow <= nRowEnd) { - SCROW nRowEnd(pRange->aEnd.Row()); - SCROW nRow(pRange->aStart.Row()); - while (!bSubTotal && nRow <= nRowEnd) - { - if (pDoc->RowFiltered(nRow, nTab)) - bSubTotal = true; - else - ++nRow; - } - ++nTab; + if (pDoc->RowFiltered(nRow, nTab)) + bSubTotal = true; + else + ++nRow; } + ++nTab; } ++nRangeIndex; } @@ -647,14 +644,11 @@ bool ScTabViewShell::UseSubTotal(ScRangeList* pRangeList) nRangeIndex = 0; while (!bSubTotal && nRangeIndex < nRangeCount) { - const ScRange* pRange = (*pRangeList)[nRangeIndex]; - if( pRange ) - { - ScRange aDBArea; - rDB.GetArea(aDBArea); - if (aDBArea.Intersects(*pRange)) - bSubTotal = true; - } + const ScRange & rRange = (*pRangeList)[nRangeIndex]; + ScRange aDBArea; + rDB.GetArea(aDBArea); + if (aDBArea.Intersects(rRange)) + bSubTotal = true; ++nRangeIndex; } } @@ -677,10 +671,10 @@ const OUString ScTabViewShell::DoAutoSum(bool& rRangeFinder, bool& rSubTotal) const size_t nCount = aMarkRangeList.size(); for ( size_t i = 0; i < nCount; ++i ) { - const ScRange aRange( *aMarkRangeList[i] ); - if ( pDoc->IsBlockEmpty( aRange.aStart.Tab(), - aRange.aStart.Col(), aRange.aStart.Row(), - aRange.aEnd.Col(), aRange.aEnd.Row() ) ) + const ScRange & rRange( aMarkRangeList[i] ); + if ( pDoc->IsBlockEmpty( rRange.aStart.Tab(), + rRange.aStart.Col(), rRange.aStart.Row(), + rRange.aEnd.Col(), rRange.aEnd.Row() ) ) { bEmpty = true; break; @@ -693,7 +687,7 @@ const OUString ScTabViewShell::DoAutoSum(bool& rRangeFinder, bool& rSubTotal) const bool bDataFound = GetAutoSumArea( aRangeList ); if ( bDataFound ) { - ScAddress aAddr = aRangeList.back()->aEnd; + ScAddress aAddr = aRangeList.back().aEnd; aAddr.IncRow(); const bool bSubTotal( UseSubTotal( &aRangeList ) ); EnterAutoSum( aRangeList, bSubTotal, aAddr ); @@ -704,15 +698,15 @@ const OUString ScTabViewShell::DoAutoSum(bool& rRangeFinder, bool& rSubTotal) const bool bSubTotal( UseSubTotal( &aMarkRangeList ) ); for ( size_t i = 0; i < nCount; ++i ) { - const ScRange aRange( *aMarkRangeList[i] ); + const ScRange & rRange = aMarkRangeList[i]; const bool bSetCursor = ( i == nCount - 1 ); const bool bContinue = ( i != 0 ); - if ( !AutoSum( aRange, bSubTotal, bSetCursor, bContinue ) ) + if ( !AutoSum( rRange, bSubTotal, bSetCursor, bContinue ) ) { - MarkRange( aRange, false ); - SetCursor( aRange.aEnd.Col(), aRange.aEnd.Row() ); + MarkRange( rRange, false ); + SetCursor( rRange.aEnd.Col(), rRange.aEnd.Row() ); const ScRangeList aRangeList; - ScAddress aAddr = aRange.aEnd; + ScAddress aAddr = rRange.aEnd; aAddr.IncRow(); aFormula = GetAutoSumFormula( aRangeList, bSubTotal, aAddr ); break; diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx index 1b7bdb769d87..89845c071971 100644 --- a/sc/source/ui/view/viewdata.cxx +++ b/sc/source/ui/view/viewdata.cxx @@ -1188,8 +1188,7 @@ void ScViewData::GetMultiArea( ScRangeListRef& rRange ) const { ScRange aSimple; GetSimpleArea(aSimple); - rRange = new ScRangeList; - rRange->Append(aSimple); + rRange = new ScRangeList(aSimple); } } diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx index 2727e0b7f733..e572964ec1b8 100644 --- a/sc/source/ui/view/viewfun2.cxx +++ b/sc/source/ui/view/viewfun2.cxx @@ -330,7 +330,7 @@ static ScAutoSum lcl_GetAutoSumForColumnRange( ScDocument* pDoc, ScRangeList& rR bool bContinue = false; do { - rRangeList.Append( ScRange( nCol, nStartRow, nTab, nCol, nEndRow, nTab ) ); + rRangeList.push_back( ScRange( nCol, nStartRow, nTab, nCol, nEndRow, nTab ) ); nEndRow = static_cast< SCROW >( nExtend ); bContinue = lcl_FindNextSumEntryInColumn( pDoc, nCol, nEndRow /*inout*/, nTab, nExtend /*out*/, aStart.Row() ); if ( bContinue ) @@ -346,7 +346,7 @@ static ScAutoSum lcl_GetAutoSumForColumnRange( ScDocument* pDoc, ScRangeList& rR { --nStartRow; } - rRangeList.Append( ScRange( nCol, nStartRow, nTab, nCol, nEndRow, nTab ) ); + rRangeList.push_back( ScRange( nCol, nStartRow, nTab, nCol, nEndRow, nTab ) ); if (eSum == ScAutoSumNone) eSum = ScAutoSumData; } @@ -375,7 +375,7 @@ static ScAutoSum lcl_GetAutoSumForRowRange( ScDocument* pDoc, ScRangeList& rRang bool bContinue = false; do { - rRangeList.Append( ScRange( nStartCol, nRow, nTab, nEndCol, nRow, nTab ) ); + rRangeList.push_back( ScRange( nStartCol, nRow, nTab, nEndCol, nRow, nTab ) ); nEndCol = static_cast< SCCOL >( nExtend ); bContinue = lcl_FindNextSumEntryInRow( pDoc, nEndCol /*inout*/, nRow, nTab, nExtend /*out*/, aStart.Col() ); if ( bContinue ) @@ -391,7 +391,7 @@ static ScAutoSum lcl_GetAutoSumForRowRange( ScDocument* pDoc, ScRangeList& rRang { --nStartCol; } - rRangeList.Append( ScRange( nStartCol, nRow, nTab, nEndCol, nRow, nTab ) ); + rRangeList.push_back( ScRange( nStartCol, nRow, nTab, nEndCol, nRow, nTab ) ); if (eSum == ScAutoSumNone) eSum = ScAutoSumData; } @@ -476,7 +476,7 @@ bool ScViewFunc::GetAutoSumArea( ScRangeList& rRangeList ) --nStartCol; } } - rRangeList.Append( + rRangeList.push_back( ScRange( nStartCol, nStartRow, nTab, nEndCol, nEndRow, nTab ) ); if ( eSum == ScAutoSumSum ) { @@ -665,7 +665,7 @@ bool ScViewFunc::AutoSum( const ScRange& rRange, bool bSubTotal, bool bSetCursor if ( (eSum = lcl_GetAutoSumForColumnRange( pDoc, aRangeList, aRange )) != ScAutoSumNone ) { if (++nRowSums == 1) - nRowSumsStartCol = aRangeList[0]->aStart.Col(); + nRowSumsStartCol = aRangeList[0].aStart.Col(); const OUString aFormula = GetAutoSumFormula( aRangeList, bSubTotal, ScAddress(nCol, nInsRow, nTab)); EnterData( nCol, nInsRow, nTab, aFormula ); @@ -702,7 +702,7 @@ bool ScViewFunc::AutoSum( const ScRange& rRange, bool bSubTotal, bool bSetCursor if ( (eSum = lcl_GetAutoSumForRowRange( pDoc, aRangeList, aRange )) != ScAutoSumNone ) { if (++nColSums == 1) - nColSumsStartRow = aRangeList[0]->aStart.Row(); + nColSumsStartRow = aRangeList[0].aStart.Row(); const OUString aFormula = GetAutoSumFormula( aRangeList, bSubTotal, ScAddress(nInsCol, nRow, nTab) ); EnterData( nInsCol, nRow, nTab, aFormula ); } @@ -749,15 +749,14 @@ OUString ScViewFunc::GetAutoSumFormula( const ScRangeList& rRangeList, bool bSub if(!rRangeList.empty()) { ScRangeList aRangeList = rRangeList; - const ScRange* pFirst = aRangeList.front(); size_t ListSize = aRangeList.size(); - for ( size_t i = 0; i < ListSize; ++i ) + for ( size_t i = 1; i < ListSize; ++i ) { - const ScRange* p = aRangeList[i]; - if (p != pFirst) + const ScRange & r = aRangeList[i]; + if (i != 0) pArray->AddOpCode(ocSep); ScComplexRefData aRef; - aRef.InitRangeRel(*p, rAddr); + aRef.InitRangeRel(r, rAddr); pArray->AddDoubleReference(aRef); } } @@ -996,8 +995,8 @@ void ScViewFunc::SetPrintRanges( bool bEntireSheet, const OUString* pPrint, rMark.FillRangeListWithMarks( pList.get(), false ); for (size_t i = 0, n = pList->size(); i < n; ++i) { - ScRange* pR = (*pList)[i]; - rDoc.AddPrintRange(nTab, *pR); + const ScRange & rR = (*pList)[i]; + rDoc.AddPrintRange(nTab, rR); } } } @@ -1391,7 +1390,7 @@ void ScViewFunc::FillAuto( FillDir eDir, SCCOL nStartCol, SCROW nStartRow, default: break; } - aChangeRanges.Append( aChangeRange ); + aChangeRanges.push_back( aChangeRange ); HelperNotifyChanges::Notify(*pModelObj, aChangeRanges); } } @@ -1863,7 +1862,7 @@ bool ScViewFunc::SearchAndReplace( const SvxSearchItem* pSearchItem, rMark.ResetMark(); for (size_t i = 0, n = aMatchedRanges.size(); i < n; ++i) { - const ScRange& r = *aMatchedRanges[i]; + const ScRange& r = aMatchedRanges[i]; if (r.aStart.Tab() == nTab) rMark.SetMultiMarkArea(r); } @@ -2762,7 +2761,7 @@ void ScViewFunc::MoveTable( break; // for } ScRange aRange( 0, 0, TheTabs[j], MAXCOL, MAXROW, TheTabs[j] ); - aParam.maRanges.Append(aRange); + aParam.maRanges.push_back(aRange); } pDoc->SetClipParam(aParam); if ( nErrVal > 0 ) diff --git a/sc/source/ui/view/viewfun3.cxx b/sc/source/ui/view/viewfun3.cxx index 3afb0f466a32..7d6efcf45b3d 100644 --- a/sc/source/ui/view/viewfun3.cxx +++ b/sc/source/ui/view/viewfun3.cxx @@ -161,8 +161,7 @@ bool ScViewFunc::CopyToClip( ScDocument* pClipDoc, bool bCut, bool bApi, bool bI if ( eMarkType == SC_MARK_SIMPLE || eMarkType == SC_MARK_SIMPLE_FILTERED ) { - ScRangeList aRangeList; - aRangeList.Append( aRange ); + ScRangeList aRangeList( aRange ); bDone = CopyToClip( pClipDoc, aRangeList, bCut, bApi, bIncludeObjects, bStopEdit ); } else if (eMarkType == SC_MARK_MULTI) @@ -190,7 +189,7 @@ bool ScViewFunc::CopyToClip( ScDocument* pClipDoc, const ScRangeList& rRanges, b if ( bStopEdit ) UpdateInputLine(); - ScRange aRange = *rRanges[0]; + ScRange aRange = rRanges[0]; ScClipParam aClipParam( aRange, bCut ); aClipParam.maRanges = rRanges; @@ -304,26 +303,26 @@ bool ScViewFunc::CopyToClip( ScDocument* pClipDoc, const ScRangeList& rRanges, b // Check for geometrical feasibility of the ranges. bool bValidRanges = true; - ScRange* p = aClipParam.maRanges.front(); + ScRange & r = aClipParam.maRanges.front(); SCCOL nPrevColDelta = 0; SCROW nPrevRowDelta = 0; - SCCOL nPrevCol = p->aStart.Col(); - SCROW nPrevRow = p->aStart.Row(); - SCCOL nPrevColSize = p->aEnd.Col() - p->aStart.Col() + 1; - SCROW nPrevRowSize = p->aEnd.Row() - p->aStart.Row() + 1; + SCCOL nPrevCol = r.aStart.Col(); + SCROW nPrevRow = r.aStart.Row(); + SCCOL nPrevColSize = r.aEnd.Col() - r.aStart.Col() + 1; + SCROW nPrevRowSize = r.aEnd.Row() - r.aStart.Row() + 1; for ( size_t i = 1; i < aClipParam.maRanges.size(); ++i ) { - p = aClipParam.maRanges[i]; + r = aClipParam.maRanges[i]; if ( pDoc->HasSelectedBlockMatrixFragment( - p->aStart.Col(), p->aStart.Row(), p->aEnd.Col(), p->aEnd.Row(), rMark) ) + r.aStart.Col(), r.aStart.Row(), r.aEnd.Col(), r.aEnd.Row(), rMark) ) { if (!bApi) ErrorMessage(STR_MATRIXFRAGMENTERR); return false; } - SCCOL nColDelta = p->aStart.Col() - nPrevCol; - SCROW nRowDelta = p->aStart.Row() - nPrevRow; + SCCOL nColDelta = r.aStart.Col() - nPrevCol; + SCROW nRowDelta = r.aStart.Row() - nPrevRow; if ((nColDelta && nRowDelta) || (nPrevColDelta && nRowDelta) || (nPrevRowDelta && nColDelta)) { @@ -339,8 +338,8 @@ bool ScViewFunc::CopyToClip( ScDocument* pClipDoc, const ScRangeList& rRanges, b aClipParam.meDirection = ScClipParam::Row; } - SCCOL nColSize = p->aEnd.Col() - p->aStart.Col() + 1; - SCROW nRowSize = p->aEnd.Row() - p->aStart.Row() + 1; + SCCOL nColSize = r.aEnd.Col() - r.aStart.Col() + 1; + SCROW nRowSize = r.aEnd.Row() - r.aStart.Row() + 1; if (aClipParam.meDirection == ScClipParam::Column && nRowSize != nPrevRowSize) { @@ -356,8 +355,8 @@ bool ScViewFunc::CopyToClip( ScDocument* pClipDoc, const ScRangeList& rRanges, b break; } - nPrevCol = p->aStart.Col(); - nPrevRow = p->aStart.Row(); + nPrevCol = r.aStart.Col(); + nPrevRow = r.aStart.Row(); nPrevColDelta = nColDelta; nPrevRowDelta = nRowDelta; nPrevColSize = nColSize; @@ -831,7 +830,7 @@ bool checkDestRangeForOverwrite(const ScRangeList& rDestRanges, const ScDocument { for (size_t i = 0; i < nRangeSize && bIsEmpty; ++i) { - const ScRange& rRange = *rDestRanges[i]; + const ScRange& rRange = rDestRanges[i]; bIsEmpty = pDoc->IsBlockEmpty( *itrTab, rRange.aStart.Col(), rRange.aStart.Row(), rRange.aEnd.Col(), rRange.aEnd.Row()); @@ -1018,8 +1017,8 @@ bool ScViewFunc::PasteFromClip( InsertDeleteFlags nFlags, ScDocument* pClipDoc, size_t ListSize = aRangeList.size(); for ( size_t i = 0; i < ListSize; ++i ) { - ScRange* p = aRangeList[i]; - nUnfilteredRows += p->aEnd.Row() - p->aStart.Row() + 1; + ScRange & r = aRangeList[i]; + nUnfilteredRows += r.aEnd.Row() - r.aStart.Row() + 1; } #if 0 /* This isn't needed but could be a desired restriction. */ @@ -1141,8 +1140,7 @@ bool ScViewFunc::PasteFromClip( InsertDeleteFlags nFlags, ScDocument* pClipDoc, SC_MOD()->GetInputOptions().GetReplaceCellsWarn(); if ( bAskIfNotEmpty ) { - ScRangeList aTestRanges; - aTestRanges.Append(aUserRange); + ScRangeList aTestRanges(aUserRange); vcl::Window* pWin = GetViewData().GetDialogParent(); if (!checkDestRangeForOverwrite(aTestRanges, pDoc, aFilteredMark, pWin ? pWin->GetFrameWeld() : nullptr)) return false; @@ -1510,8 +1508,7 @@ bool ScViewFunc::PasteMultiRangesFromClip( if (bAskIfNotEmpty) { - ScRangeList aTestRanges; - aTestRanges.Append(aMarkedRange); + ScRangeList aTestRanges(aMarkedRange); vcl::Window* pWin = GetViewData().GetDialogParent(); if (!checkDestRangeForOverwrite(aTestRanges, pDoc, aMark, pWin ? pWin->GetFrameWeld() : nullptr)) return false; @@ -1688,7 +1685,7 @@ bool ScViewFunc::PasteFromClipToMultiRanges( for (size_t i = 0, n = aRanges.size(); i < n; ++i) { pDoc->CopyToDocument( - *aRanges[i], nUndoFlags, false, *pUndoDoc, &aMark); + aRanges[i], nUndoFlags, false, *pUndoDoc, &aMark); } } @@ -1702,7 +1699,7 @@ bool ScViewFunc::PasteFromClipToMultiRanges( for (size_t i = 0, n = aRanges.size(); i < n; ++i) { pDoc->CopyToDocument( - *aRanges[i], InsertDeleteFlags::CONTENTS, false, *pMixDoc, &aMark); + aRanges[i], InsertDeleteFlags::CONTENTS, false, *pMixDoc, &aMark); } } } @@ -1716,14 +1713,14 @@ bool ScViewFunc::PasteFromClipToMultiRanges( for (size_t i = 0, n = aRanges.size(); i < n; ++i) { pDoc->CopyFromClip( - *aRanges[i], aMark, (nFlags & ~InsertDeleteFlags::OBJECTS), nullptr, pClipDoc, + aRanges[i], aMark, (nFlags & ~InsertDeleteFlags::OBJECTS), nullptr, pClipDoc, false, false, true, bSkipEmpty); } if (pMixDoc.get()) { for (size_t i = 0, n = aRanges.size(); i < n; ++i) - pDoc->MixDocument(*aRanges[i], nFunction, bSkipEmpty, pMixDoc.get()); + pDoc->MixDocument(aRanges[i], nFunction, bSkipEmpty, pMixDoc.get()); } AdjustBlockHeight(); // update row heights before pasting objects @@ -1734,7 +1731,7 @@ bool ScViewFunc::PasteFromClipToMultiRanges( for (size_t i = 0, n = aRanges.size(); i < n; ++i) { pDoc->CopyFromClip( - *aRanges[i], aMark, InsertDeleteFlags::OBJECTS, nullptr, pClipDoc, + aRanges[i], aMark, InsertDeleteFlags::OBJECTS, nullptr, pClipDoc, false, false, true, bSkipEmpty); } } @@ -1790,14 +1787,14 @@ void ScViewFunc::PostPasteFromClip(const ScRangeList& rPasteRanges, const ScMark ScRangeList aChangeRanges; for (size_t i = 0, n = rPasteRanges.size(); i < n; ++i) { - const ScRange& r = *rPasteRanges[i]; + const ScRange& r = rPasteRanges[i]; ScMarkData::const_iterator itr = rMark.begin(), itrEnd = rMark.end(); for (; itr != itrEnd; ++itr) { ScRange aChangeRange(r); aChangeRange.aStart.SetTab(*itr); aChangeRange.aEnd.SetTab(*itr); - aChangeRanges.Append(aChangeRange); + aChangeRanges.push_back(aChangeRange); } } HelperNotifyChanges::Notify(*pModelObj, aChangeRanges); diff --git a/sc/source/ui/view/viewfun4.cxx b/sc/source/ui/view/viewfun4.cxx index 78bdd8eb7cc2..498da899c3b7 100644 --- a/sc/source/ui/view/viewfun4.cxx +++ b/sc/source/ui/view/viewfun4.cxx @@ -239,7 +239,7 @@ void ScViewFunc::DoRefConversion() SCTAB i = *itr; for (size_t j = 0; j < nCount; ++j) { - ScRange aRange = *(*xRanges)[j]; + ScRange aRange = (*xRanges)[j]; aRange.aStart.SetTab(i); aRange.aEnd.SetTab(i); ScCellIterator aIter( pDoc, aRange ); diff --git a/sc/source/ui/view/viewfun6.cxx b/sc/source/ui/view/viewfun6.cxx index 6e13f26e27e7..ffe5035fe97b 100644 --- a/sc/source/ui/view/viewfun6.cxx +++ b/sc/source/ui/view/viewfun6.cxx @@ -128,25 +128,24 @@ void ScViewFunc::MarkAndJumpToRanges(const ScRangeList& rRanges) size_t ListSize = aRanges.size(); for ( size_t i = 0; i < ListSize; ++i ) { - const ScRange* p = aRanges[i]; + const ScRange & r = aRanges[i]; // Collect only those ranges that are on the same sheet as the current // cursor. - if (p->aStart.Tab() == aCurPos.Tab()) - aRangesToMark.Append(*p); + if (r.aStart.Tab() == aCurPos.Tab()) + aRangesToMark.push_back(r); } if (aRangesToMark.empty()) return; // Jump to the first range of all precedent ranges. - const ScRange* p = aRangesToMark.front(); - lcl_jumpToRange(*p, &rView, &pDocSh->GetDocument()); + const ScRange & r = aRangesToMark.front(); + lcl_jumpToRange(r, &rView, &pDocSh->GetDocument()); ListSize = aRangesToMark.size(); for ( size_t i = 0; i < ListSize; ++i ) { - p = aRangesToMark[i]; - MarkRange(*p, false, true); + MarkRange(aRangesToMark[i], false, true); } } @@ -161,7 +160,7 @@ void ScViewFunc::DetectiveMarkPred() if (rMarkData.IsMarked() || rMarkData.IsMultiMarked()) rMarkData.FillRangeListWithMarks(&aRanges, false); else - aRanges.Append(aCurPos); + aRanges.push_back(aCurPos); vector<ScTokenRef> aRefTokens; pDocSh->GetDocFunc().DetectiveCollectAllPreds(aRanges, aRefTokens); @@ -225,7 +224,7 @@ void ScViewFunc::DetectiveMarkSucc() if (rMarkData.IsMarked() || rMarkData.IsMultiMarked()) rMarkData.FillRangeListWithMarks(&aRanges, false); else - aRanges.Append(aCurPos); + aRanges.push_back(aCurPos); vector<ScTokenRef> aRefTokens; pDocSh->GetDocFunc().DetectiveCollectAllSuccs(aRanges, aRefTokens); diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx index bd21e085d265..8e516e358593 100644 --- a/sc/source/ui/view/viewfunc.cxx +++ b/sc/source/ui/view/viewfunc.cxx @@ -324,7 +324,7 @@ namespace HelperNotifyChanges ScRangeList aChangeRanges; ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); for (; itr != itrEnd; ++itr) - aChangeRanges.Append( ScRange( nCol, nRow, *itr ) ); + aChangeRanges.push_back( ScRange( nCol, nRow, *itr ) ); HelperNotifyChanges::Notify(*pModelObj, aChangeRanges, "cell-change"); } @@ -1162,7 +1162,7 @@ void ScViewFunc::ApplySelectionPattern( const ScPatternAttr& rAttr, bool bCursor ScRange aChangeRange( aMarkRange ); aChangeRange.aStart.SetTab( *itr ); aChangeRange.aEnd.SetTab( *itr ); - aChangeRanges.Append( aChangeRange ); + aChangeRanges.push_back( aChangeRange ); } SCCOL nStartCol = aMarkRange.aStart.Col(); @@ -1225,7 +1225,7 @@ void ScViewFunc::ApplySelectionPattern( const ScPatternAttr& rAttr, bool bCursor pNewEditData = pEditObj->Clone(); } - aChangeRanges.Append(aPos); + aChangeRanges.push_back(aPos); std::unique_ptr<ScPatternAttr> pOldPat(new ScPatternAttr(*rDoc.GetPattern( nCol, nRow, nTab ))); rDoc.ApplyPattern( nCol, nRow, nTab, rAttr ); @@ -1965,7 +1965,7 @@ void ScViewFunc::DeleteContents( InsertDeleteFlags nFlags ) ScRangeList aChangeRanges; if ( bSimple ) { - aChangeRanges.Append( aMarkRange ); + aChangeRanges.push_back( aMarkRange ); } else { @@ -2291,7 +2291,7 @@ void ScViewFunc::SetWidthOrHeight( SCCOL nEndCol = rRange.mnEnd; for ( SCCOL nCol = nStartCol; nCol <= nEndCol; ++nCol ) { - aChangeRanges.Append( ScRange( nCol, 0, nTab ) ); + aChangeRanges.push_back( ScRange( nCol, 0, nTab ) ); } } } |