diff options
author | Joseph Powers <jpowers27@cox.net> | 2010-12-08 22:38:24 -0800 |
---|---|---|
committer | Kohei Yoshida <kyoshida@novell.com> | 2010-12-09 18:05:21 -0500 |
commit | 6eefbb4beea48b007e0a6e8ceeaa800319b9f5d8 (patch) | |
tree | b1b9bb47248baf395774fca931443997e23e5c9a | |
parent | bf9ed0595b1ec5900523f7a2f322c8310f8b6772 (diff) |
Remove another DECLARE_LIST() from Calc
Signed-off-by: Kohei Yoshida <kyoshida@novell.com>
70 files changed, 689 insertions, 970 deletions
diff --git a/sc/inc/rangelst.hxx b/sc/inc/rangelst.hxx index 3584a9d2b2a7..d26b4ab3c229 100644 --- a/sc/inc/rangelst.hxx +++ b/sc/inc/rangelst.hxx @@ -32,45 +32,49 @@ #include "global.hxx" #include "address.hxx" #include <tools/solar.h> +#include <vector> class ScDocument; typedef ScRange* ScRangePtr; -DECLARE_LIST( ScRangeListBase, ScRangePtr ) +typedef ::std::vector< ScRangePtr > ScRangeListBase; class SC_DLLPUBLIC ScRangeList : public ScRangeListBase, public SvRefBase { -private: - using ScRangeListBase::operator==; - using ScRangeListBase::operator!=; - public: ScRangeList() {} ScRangeList( const ScRangeList& rList ); virtual ~ScRangeList(); ScRangeList& operator=(const ScRangeList& rList); - void RemoveAll(); void Append( const ScRange& rRange ) { ScRangePtr pR = new ScRange( rRange ); - Insert( pR, LIST_APPEND ); + push_back( pR ); } + USHORT Parse( const String&, ScDocument* = NULL, USHORT nMask = SCA_VALID, formula::FormulaGrammar::AddressConvention eConv = formula::FormulaGrammar::CONV_OOO, sal_Unicode cDelimiter = 0 ); + void Format( String&, USHORT nFlags = 0, ScDocument* = NULL, formula::FormulaGrammar::AddressConvention eConv = formula::FormulaGrammar::CONV_OOO, sal_Unicode cDelimiter = 0 ) const; - void Join( const ScRange&, BOOL bIsInList = FALSE ); - BOOL UpdateReference( UpdateRefMode, ScDocument*, - const ScRange& rWhere, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); + + void Join( const ScRange&, bool bIsInList = false ); + + bool UpdateReference( UpdateRefMode, ScDocument*, + const ScRange& rWhere, + SCsCOL nDx, + SCsROW nDy, + SCsTAB nDz + ); + ScRange* Find( const ScAddress& ) const; - BOOL operator==( const ScRangeList& ) const; - BOOL operator!=( const ScRangeList& r ) const; - BOOL Intersects( const ScRange& ) const; - BOOL In( const ScRange& ) const; - ULONG GetCellCount() const; + bool operator==( const ScRangeList& ) const; + bool operator!=( const ScRangeList& r ) const; + bool Intersects( const ScRange& ) const; + bool In( const ScRange& ) const; + size_t GetCellCount() const; }; SV_DECL_IMPL_REF( ScRangeList ); diff --git a/sc/source/core/data/clipparam.cxx b/sc/source/core/data/clipparam.cxx index 6cae3916fc47..df80a4134566 100644 --- a/sc/source/core/data/clipparam.cxx +++ b/sc/source/core/data/clipparam.cxx @@ -57,12 +57,12 @@ ScClipParam::ScClipParam(const ScClipParam& r) : bool ScClipParam::isMultiRange() const { - return maRanges.Count() > 1; + return maRanges.size() > 1; } SCCOL ScClipParam::getPasteColSize() { - if (!maRanges.Count()) + if (maRanges.empty()) return 0; switch (meDirection) @@ -70,14 +70,17 @@ SCCOL ScClipParam::getPasteColSize() case ScClipParam::Column: { SCCOL nColSize = 0; - for (ScRangePtr p = maRanges.First(); p; p = maRanges.Next()) + for ( size_t i = 0, nListSize = maRanges.size(); i < nListSize; ++i ) + { + ScRangePtr p = maRanges[ i ]; nColSize += p->aEnd.Col() - p->aStart.Col() + 1; + } return nColSize; } case ScClipParam::Row: { // We assume that all ranges have identical column size. - const ScRange& rRange = *maRanges.First(); + const ScRange& rRange = *maRanges.front(); return rRange.aEnd.Col() - rRange.aStart.Col() + 1; } case ScClipParam::Unspecified: @@ -89,7 +92,7 @@ SCCOL ScClipParam::getPasteColSize() SCROW ScClipParam::getPasteRowSize() { - if (!maRanges.Count()) + if (maRanges.empty()) return 0; switch (meDirection) @@ -97,14 +100,17 @@ SCROW ScClipParam::getPasteRowSize() case ScClipParam::Column: { // We assume that all ranges have identical row size. - const ScRange& rRange = *maRanges.First(); + const ScRange& rRange = *maRanges.front(); return rRange.aEnd.Row() - rRange.aStart.Row() + 1; } case ScClipParam::Row: { SCROW nRowSize = 0; - for (ScRangePtr p = maRanges.First(); p; p = maRanges.Next()) + for ( size_t i = 0, nListSize = maRanges.size(); i < nListSize; ++i ) + { + ScRangePtr p = maRanges[ i ]; nRowSize += p->aEnd.Row() - p->aStart.Row() + 1; + } return nRowSize; } case ScClipParam::Unspecified: @@ -118,9 +124,9 @@ ScRange ScClipParam::getWholeRange() const { ScRange aWhole; bool bFirst = true; - ScRangeList aRanges = maRanges; - for (ScRange* p = aRanges.First(); p; p = aRanges.Next()) + for ( size_t i = 0, n = maRanges.size(); i < n; ++i ) { + ScRange* p = maRanges[ i ]; if (bFirst) { aWhole = *p; @@ -159,13 +165,15 @@ void ScClipParam::transpose() } ScRangeList aNewRanges; - if (maRanges.Count()) + if (!maRanges.empty()) { - ScRange* p = maRanges.First(); + ScRange* p = maRanges.front(); SCCOL nColOrigin = p->aStart.Col(); SCROW nRowOrigin = p->aStart.Row(); - for (; p; p = maRanges.Next()) + + for ( size_t i = 1, n = maRanges.size(); i < n; ++i ) { + p = maRanges[ i ]; SCCOL nColDelta = p->aStart.Col() - nColOrigin; SCROW nRowDelta = p->aStart.Row() - nRowOrigin; SCCOL nCol1 = 0; @@ -176,8 +184,7 @@ void ScClipParam::transpose() nCol2 += static_cast<SCCOL>(nRowDelta); nRow1 += static_cast<SCROW>(nColDelta); nRow2 += static_cast<SCROW>(nColDelta); - ScRange aNew(nCol1, nRow1, p->aStart.Tab(), nCol2, nRow2, p->aStart.Tab()); - aNewRanges.Append(aNew); + aNewRanges.push_back( new ScRange(nCol1, nRow1, p->aStart.Tab(), nCol2, nRow2, p->aStart.Tab() ) ); } } maRanges = aNewRanges; diff --git a/sc/source/core/data/conditio.cxx b/sc/source/core/data/conditio.cxx index b3852e705e17..0312df468feb 100644 --- a/sc/source/core/data/conditio.cxx +++ b/sc/source/core/data/conditio.cxx @@ -1356,7 +1356,6 @@ BOOL lcl_CutRange( ScRange& rRange, const ScRange& rOther ) void ScConditionalFormat::DoRepaint( const ScRange* pModified ) { - USHORT i; SfxObjectShell* pSh = pDoc->GetDocumentShell(); if (pSh) { @@ -1371,10 +1370,9 @@ void ScConditionalFormat::DoRepaint( const ScRange* pModified ) pAreas = new ScRangeList; pDoc->FindConditionalFormat( nKey, *pAreas ); } - USHORT nCount = (USHORT) pAreas->Count(); - for (i=0; i<nCount; i++) + for (size_t i = 0, nCount = pAreas->size(); i < nCount; i++ ) { - ScRange aRange = *pAreas->GetObject(i); + ScRange aRange = *pAreas->at( i ); BOOL bDo = TRUE; if ( pModified ) { diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx index 43b48d2d481f..c60521be6e32 100644 --- a/sc/source/core/data/documen3.cxx +++ b/sc/source/core/data/documen3.cxx @@ -652,7 +652,6 @@ void ScDocument::CopyScenario( SCTAB nSrcTab, SCTAB nDestTab, BOOL bNewScenario // und aktuelle Werte in bisher aktive Szenarios zurueckschreiben ScRangeList aRanges = *pTab[nSrcTab]->GetScenarioRanges(); - const ULONG nRangeCount = aRanges.Count(); // nDestTab ist die Zieltabelle for ( SCTAB nTab = nDestTab+1; @@ -662,9 +661,9 @@ void ScDocument::CopyScenario( SCTAB nSrcTab, SCTAB nDestTab, BOOL bNewScenario if ( pTab[nTab]->IsActiveScenario() ) // auch wenn's dasselbe Szenario ist { BOOL bTouched = FALSE; - for ( ULONG nR=0; nR<nRangeCount && !bTouched; nR++) + for ( size_t nR=0, nRangeCount = aRanges.size(); nR < nRangeCount && !bTouched; nR++ ) { - const ScRange* pRange = aRanges.GetObject(nR); + const ScRange* pRange = aRanges[ nR ]; if ( pTab[nTab]->HasScenarioRange( *pRange ) ) bTouched = TRUE; } @@ -704,10 +703,6 @@ void ScDocument::MarkScenario( SCTAB nSrcTab, SCTAB nDestTab, ScMarkData& rDestM BOOL ScDocument::HasScenarioRange( SCTAB nTab, const ScRange& rRange ) const { return ValidTab(nTab) && pTab[nTab] && pTab[nTab]->HasScenarioRange( rRange ); - //if (ValidTab(nTab) && pTab[nTab]) - // return pTab[nTab]->HasScenarioRange( rRange ); - - //return FALSE; } const ScRangeList* ScDocument::GetScenarioRanges( SCTAB nTab ) const @@ -721,10 +716,6 @@ const ScRangeList* ScDocument::GetScenarioRanges( SCTAB nTab ) const BOOL ScDocument::IsActiveScenario( SCTAB nTab ) const { return ValidTab(nTab) && pTab[nTab] && pTab[nTab]->IsActiveScenario( ); - //if (ValidTab(nTab) && pTab[nTab]) - // return pTab[nTab]->IsActiveScenario(); - - //return FALSE; } void ScDocument::SetActiveScenario( SCTAB nTab, BOOL bActive ) @@ -948,8 +939,8 @@ void ScDocument::UpdateTranspose( const ScAddress& rDestPos, ScDocument* pClipDo ScRange aSource; ScClipParam& rClipParam = GetClipParam(); - if (rClipParam.maRanges.Count()) - aSource = *rClipParam.maRanges.First(); + if (!rClipParam.maRanges.empty()) + aSource = *rClipParam.maRanges.front(); ScAddress aDest = rDestPos; SCTAB nClipTab = 0; diff --git a/sc/source/core/data/documen5.cxx b/sc/source/core/data/documen5.cxx index a86640d297a0..1f0012dec03b 100644 --- a/sc/source/core/data/documen5.cxx +++ b/sc/source/core/data/documen5.cxx @@ -396,9 +396,8 @@ void ScDocument::UpdateChartArea( const String& rChartName, aNewRanges = new ScRangeList; aNewRanges->Parse( aRangesStr, this ); - ULONG nAddCount = rNewList->Count(); - for ( ULONG nAdd=0; nAdd<nAddCount; nAdd++ ) - aNewRanges->Append( *rNewList->GetObject(nAdd) ); + for ( size_t nAdd = 0, nAddCount = rNewList->size(); nAdd < nAddCount; ++nAdd ) + aNewRanges->Append( *rNewList->at( nAdd ) ); } else { @@ -513,8 +512,9 @@ void ScDocument::UpdateChartRef( UpdateRefMode eUpdateRefMode, ScRangeListRef aNewRLR( new ScRangeList ); BOOL bChanged = FALSE; BOOL bDataChanged = FALSE; - for ( ScRangePtr pR = aRLR->First(); pR; pR = aRLR->Next() ) + for ( size_t i = 0, nListSize = aRLR->size(); i < nListSize; ++i ) { + ScRangePtr pR = aRLR->at( i ); SCCOL theCol1 = pR->aStart.Col(); SCROW theRow1 = pR->aStart.Row(); SCTAB theTab1 = pR->aStart.Tab(); diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx index 330cfb611b4a..70918ed2e10f 100644 --- a/sc/source/core/data/document.cxx +++ b/sc/source/core/data/document.cxx @@ -752,10 +752,9 @@ void ScDocument::LimitChartIfAll( ScRangeListRef& rRangeList ) ScRangeListRef aNew = new ScRangeList; if (rRangeList.Is()) { - ULONG nCount = rRangeList->Count(); - for (ULONG i=0; i<nCount; i++) + for ( size_t i = 0, nCount = rRangeList->size(); i < nCount; i++ ) { - ScRange aRange(*rRangeList->GetObject( i )); + ScRange aRange( *rRangeList->at( i ) ); if ( ( aRange.aStart.Col() == 0 && aRange.aEnd.Col() == MAXCOL ) || ( aRange.aStart.Row() == 0 && aRange.aEnd.Row() == MAXROW ) ) { @@ -1680,7 +1679,7 @@ void ScDocument::CopyTabToClip(SCCOL nCol1, SCROW nRow1, ScClipParam& rClipParam = pClipDoc->GetClipParam(); pClipDoc->aDocName = aDocName; - rClipParam.maRanges.RemoveAll(); + rClipParam.maRanges.clear(); rClipParam.maRanges.Append(ScRange(nCol1, nRow1, 0, nCol2, nRow2, 0)); pClipDoc->ResetClip( this, nTab ); @@ -1908,9 +1907,9 @@ void ScDocument::UpdateRangeNamesInFormulas( rRangeNames.mpRangeNames[i]->ReplaceRangeNamesInUse(rRangeNames.maRangeMap); } // then update the formulas, they might need just the updated range names - for (ULONG nRange = 0; nRange < rDestRanges.Count(); ++nRange) + for ( size_t nRange = 0, n = rDestRanges.size(); nRange < n; ++nRange ) { - const ScRange* pRange = rDestRanges.GetObject( nRange); + const ScRange* pRange = rDestRanges.at( nRange); SCCOL nCol1 = pRange->aStart.Col(); SCROW nRow1 = pRange->aStart.Row(); SCCOL nCol2 = pRange->aEnd.Col(); @@ -2097,8 +2096,8 @@ void ScDocument::CopyNonFilteredFromClip( SCCOL nCol1, SCROW nRow1, SCROW nSourceRow = rClipStartRow; SCROW nSourceEnd = 0; - if (pCBFCP->pClipDoc->GetClipParam().maRanges.Count()) - nSourceEnd = pCBFCP->pClipDoc->GetClipParam().maRanges.First()->aEnd.Row(); + if ( !pCBFCP->pClipDoc->GetClipParam().maRanges.empty() ) + nSourceEnd = pCBFCP->pClipDoc->GetClipParam().maRanges.front()->aEnd.Row(); SCROW nDestRow = nRow1; while ( nSourceRow <= nSourceEnd && nDestRow <= nRow2 ) @@ -2241,9 +2240,9 @@ void ScDocument::CopyFromClip( const ScRange& rDestRange, const ScMarkData& rMar SCROW nClipStartRow = aClipRange.aStart.Row(); // WaE: commented because unused: SCCOL nClipEndCol = pClipDoc->aClipRange.aEnd.Col(); SCROW nClipEndRow = aClipRange.aEnd.Row(); - for (ULONG nRange = 0; nRange < pDestRanges->Count(); ++nRange) + for ( size_t nRange = 0; nRange < pDestRanges->size(); ++nRange ) { - const ScRange* pRange = pDestRanges->GetObject( nRange); + const ScRange* pRange = pDestRanges->at( nRange); SCCOL nCol1 = pRange->aStart.Col(); SCROW nRow1 = pRange->aStart.Row(); SCCOL nCol2 = pRange->aEnd.Col(); @@ -2390,8 +2389,9 @@ void ScDocument::CopyMultiRangeFromClip( sal_uInt16 nDelFlag = IDF_CONTENTS; const ScBitMaskCompressedArray<SCROW, BYTE>& rFlags = GetRowFlagsArray(aCBFCP.nTabStart); - for (ScRange* p = rClipParam.maRanges.First(); p; p = rClipParam.maRanges.Next()) + for ( size_t i = 0, n = rClipParam.maRanges.size(); i < n; ++i ) { + ScRangePtr p = rClipParam.maRanges[ i ]; // The begin row must not be filtered. SCROW nRowCount = p->aEnd.Row() - p->aStart.Row() + 1; @@ -2467,7 +2467,7 @@ void ScDocument::SetClipArea( const ScRange& rArea, BOOL bCut ) if (bIsClip) { ScClipParam& rClipParam = GetClipParam(); - rClipParam.maRanges.RemoveAll(); + rClipParam.maRanges.clear(); rClipParam.maRanges.Append(rArea); rClipParam.mbCutMode = bCut; } @@ -2487,17 +2487,18 @@ void ScDocument::GetClipArea(SCCOL& nClipX, SCROW& nClipY, BOOL bIncludeFiltered } ScRangeList& rClipRanges = GetClipParam().maRanges; - if (!rClipRanges.Count()) + if (rClipRanges.empty()) // No clip range. Bail out. return; - ScRangePtr p = rClipRanges.First(); + ScRangePtr p = rClipRanges.front(); SCCOL nStartCol = p->aStart.Col(); SCCOL nEndCol = p->aEnd.Col(); SCROW nStartRow = p->aStart.Row(); SCROW nEndRow = p->aEnd.Row(); - for (p = rClipRanges.Next(); p; p = rClipRanges.Next()) + for ( size_t i = 1, n = rClipRanges.size(); i < n; ++i ) { + p = rClipRanges[ i ]; if (p->aStart.Col() < nStartCol) nStartCol = p->aStart.Col(); if (p->aStart.Row() < nStartRow) @@ -2535,10 +2536,10 @@ void ScDocument::GetClipStart(SCCOL& nClipX, SCROW& nClipY) if (bIsClip) { ScRangeList& rClipRanges = GetClipParam().maRanges; - if (rClipRanges.Count()) + if ( !rClipRanges.empty() ) { - nClipX = rClipRanges.First()->aStart.Col(); - nClipY = rClipRanges.First()->aStart.Row(); + nClipX = rClipRanges.front()->aStart.Col(); + nClipY = rClipRanges.front()->aStart.Row(); } } else @@ -2556,11 +2557,12 @@ BOOL ScDocument::HasClipFilteredRows() ++nCountTab; ScRangeList& rClipRanges = GetClipParam().maRanges; - if (!rClipRanges.Count()) + if ( rClipRanges.empty() ) return false; - for (ScRange* p = rClipRanges.First(); p; p = rClipRanges.Next()) + for ( size_t i = 0, n = rClipRanges.size(); i < n; ++i ) { + ScRangePtr p = rClipRanges[ i ]; bool bAnswer = pTab[nCountTab]->HasFilteredRows(p->aStart.Row(), p->aEnd.Row()); if (bAnswer) return true; @@ -3064,10 +3066,9 @@ void ScDocument::SetTableOpDirty( const ScRange& rRange ) void ScDocument::InterpretDirtyCells( const ScRangeList& rRanges ) { - ULONG nRangeCount = rRanges.Count(); - for (ULONG nPos=0; nPos<nRangeCount; nPos++) + for (size_t nPos=0, nRangeCount = rRanges.size(); nPos < nRangeCount; nPos++) { - ScCellIterator aIter( this, *rRanges.GetObject(nPos) ); + ScCellIterator aIter( this, *rRanges[ nPos ] ); ScBaseCell* pCell = aIter.GetFirst(); while (pCell) { @@ -4914,14 +4915,14 @@ void ScDocument::ApplySelectionFrame( const ScMarkData& rMark, { ScRangeList aRangeList; rMark.FillRangeListWithMarks( &aRangeList, FALSE ); - ULONG nRangeCount = aRangeList.Count(); + size_t nRangeCount = aRangeList.size(); for (SCTAB i=0; i<=MAXTAB; i++) { if (pTab[i] && rMark.GetTableSelect(i)) { - for (ULONG j=0; j<nRangeCount; j++) + for ( size_t j=0; j < nRangeCount; j++ ) { - ScRange aRange = *aRangeList.GetObject(j); + ScRange aRange = *aRangeList[ j ]; pTab[i]->ApplyBlockFrame( pLineOuter, pLineInner, aRange.aStart.Col(), aRange.aStart.Row(), aRange.aEnd.Col(), aRange.aEnd.Row() ); diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx index 0c7f5257025b..0217b92b2111 100644 --- a/sc/source/core/data/drwlayer.cxx +++ b/sc/source/core/data/drwlayer.cxx @@ -1384,10 +1384,9 @@ BOOL lcl_IsAllInRange( const ::std::vector< ScRangeList >& rRangesVector, const for( ;aIt!=rRangesVector.end(); ++aIt ) { const ScRangeList& rRanges = *aIt; - ULONG nCount = rRanges.Count(); - for (ULONG i=0; i<nCount; i++) + for ( size_t i = 0, nCount = rRanges.size(); i < nCount; i++ ) { - ScRange aRange = *rRanges.GetObject(i); + ScRange aRange = *rRanges[ i ]; if ( !rClipRange.In( aRange ) ) { return FALSE; // at least one range is not valid @@ -1406,10 +1405,9 @@ BOOL lcl_MoveRanges( ::std::vector< ScRangeList >& rRangesVector, const ScRange& for( ;aIt!=rRangesVector.end(); ++aIt ) { ScRangeList& rRanges = *aIt; - ULONG nCount = rRanges.Count(); - for (ULONG i=0; i<nCount; i++) + for ( size_t i = 0, nCount = rRanges.size(); i < nCount; i++ ) { - ScRange* pRange = rRanges.GetObject(i); + ScRange* pRange = rRanges[ i ]; if ( rSourceRange.In( *pRange ) ) { SCsCOL nDiffX = rDestPos.Col() - (SCsCOL)rSourceRange.aStart.Col(); diff --git a/sc/source/core/data/markdata.cxx b/sc/source/core/data/markdata.cxx index e9486e7705b0..d0a8c910de96 100644 --- a/sc/source/core/data/markdata.cxx +++ b/sc/source/core/data/markdata.cxx @@ -345,18 +345,18 @@ void ScMarkData::MarkFromRangeList( const ScRangeList& rList, BOOL bReset ) ResetMark(); } - ULONG nCount = rList.Count(); + size_t nCount = rList.size(); if ( nCount == 1 && !bMarked && !bMultiMarked ) { - ScRange aRange = *rList.GetObject(0); + ScRange aRange = *rList[ 0 ]; SetMarkArea( aRange ); SelectTable( aRange.aStart.Tab(), TRUE ); } else { - for (ULONG i=0; i<nCount; i++) + for (size_t i=0; i < nCount; i++) { - ScRange aRange = *rList.GetObject(i); + ScRange aRange = *rList[ i ]; SetMultiMarkArea( aRange, TRUE ); SelectTable( aRange.aStart.Tab(), TRUE ); } @@ -369,7 +369,7 @@ void ScMarkData::FillRangeListWithMarks( ScRangeList* pList, BOOL bClear ) const return; if (bClear) - pList->RemoveAll(); + pList->clear(); //! bei mehreren selektierten Tabellen mehrere Ranges eintragen !!! @@ -406,15 +406,14 @@ void ScMarkData::ExtendRangeListTables( ScRangeList* pList ) const return; ScRangeList aOldList(*pList); - pList->RemoveAll(); //! oder die vorhandenen unten weglassen + pList->clear(); //! oder die vorhandenen unten weglassen for (SCTAB nTab=0; nTab<=MAXTAB; nTab++) if (bTabMarked[nTab]) { - ULONG nCount = aOldList.Count(); - for (ULONG i=0; i<nCount; i++) + for ( size_t i=0, nCount = aOldList.size(); i<nCount; i++) { - ScRange aRange = *aOldList.GetObject(i); + ScRange aRange = *aOldList[ i ]; aRange.aStart.SetTab(nTab); aRange.aEnd.SetTab(nTab); pList->Append( aRange ); diff --git a/sc/source/core/data/table2.cxx b/sc/source/core/data/table2.cxx index bb4fbb0f4d85..0fbc5a3206d8 100644 --- a/sc/source/core/data/table2.cxx +++ b/sc/source/core/data/table2.cxx @@ -470,8 +470,9 @@ void ScTable::CopyToClip(const ScRangeList& rRanges, ScTable* pTable, bool bKeepScenarioFlags, bool bCloneNoteCaptions) { ScRangeList aRanges(rRanges); - for (ScRangePtr p = aRanges.First(); p; p = aRanges.Next()) + for ( size_t i = 0, nListSize = aRanges.size(); i < nListSize; ++i ) { + ScRangePtr p = aRanges[ i ]; CopyToClip(p->aStart.Col(), p->aStart.Row(), p->aEnd.Col(), p->aEnd.Row(), pTable, bKeepScenarioFlags, bCloneNoteCaptions); } @@ -915,23 +916,17 @@ BOOL ScTable::HasScenarioRange( const ScRange& rRange ) const { DBG_ASSERT( bScenario, "bScenario == FALSE" ); -// ScMarkData aMark; -// MarkScenarioIn( aMark, 0 ); //! Bits als Parameter von HasScenarioRange? -// return aMark.IsAllMarked( rRange ); - ScRange aTabRange = rRange; aTabRange.aStart.SetTab( nTab ); aTabRange.aEnd.SetTab( nTab ); const ScRangeList* pList = GetScenarioRanges(); -// return ( pList && pList->Find( aTabRange ) ); if (pList) { - ULONG nCount = pList->Count(); - for ( ULONG j = 0; j < nCount; j++ ) + for ( size_t j = 0, n = pList->size(); j < n; j++ ) { - ScRange* pR = pList->GetObject( j ); + ScRange* pR = pList->at( j ); if ( pR->Intersects( aTabRange ) ) return TRUE; } @@ -1711,15 +1706,14 @@ BOOL ScTable::IsSelectionEditable( const ScMarkData& rMark, // in the active scenario range. ScRangeList aRanges; rMark.FillRangeListWithMarks( &aRanges, FALSE ); - ULONG nRangeCount = aRanges.Count(); SCTAB nScenTab = nTab+1; while(pDocument->IsScenario(nScenTab) && bIsEditable) { if(pDocument->IsActiveScenario(nScenTab)) { - for (ULONG i=0; i<nRangeCount && bIsEditable; i++) + for (size_t i=0, nRange = aRanges.size(); (i < nRange) && bIsEditable; i++ ) { - ScRange aRange = *aRanges.GetObject(i); + ScRange aRange = *aRanges[ i ]; if(pDocument->HasScenarioRange(nScenTab, aRange)) { USHORT nFlags; @@ -1746,10 +1740,9 @@ BOOL ScTable::IsSelectionEditable( const ScMarkData& rMark, { ScRangeList aRanges; rMark.FillRangeListWithMarks( &aRanges, FALSE ); - ULONG nRangeCount = aRanges.Count(); - for (ULONG i=0; i<nRangeCount && bIsEditable; i++) + for (size_t i = 0, nRange = aRanges.size(); (i < nRange) && bIsEditable; i++) { - ScRange aRange = *aRanges.GetObject(i); + ScRange aRange = *aRanges[ i ]; if(pDocument->HasScenarioRange(nTab, aRange)) { USHORT nFlags; diff --git a/sc/source/core/data/table6.cxx b/sc/source/core/data/table6.cxx index b71d55aeebb6..12f03b6a20b5 100644 --- a/sc/source/core/data/table6.cxx +++ b/sc/source/core/data/table6.cxx @@ -768,8 +768,9 @@ bool ScTable::SearchAndReplaceEmptyCells( ScRangeList aMarkedRanges, aNewRanges; rMark.FillRangeListWithMarks(&aMarkedRanges, true); - for (ScRangePtr p = aMarkedRanges.First(); p; p = aMarkedRanges.Next()) + for ( size_t i = 0, n = aMarkedRanges.size(); i < n; ++i ) { + ScRangePtr p = aMarkedRanges[ i ]; if (p->aStart.Col() > nColEnd || p->aStart.Row() > nRowEnd) // This range is outside the data area. Skip it. continue; @@ -795,17 +796,19 @@ bool ScTable::SearchAndReplaceEmptyCells( { if (rSearchItem.GetBackward()) { - for (ScRangePtr p = aRanges.Last(); p; p = aRanges.Prev()) + for ( size_t i = aRanges.size(); i > 0; --i ) { - if (SearchRangeForEmptyCell(*p, rSearchItem, rCol, rRow, rUndoStr, pUndoDoc)) + ScRangePtr p = aRanges[ i - 1 ]; + if (SearchRangeForEmptyCell( *p, rSearchItem, rCol, rRow, rUndoStr, pUndoDoc)) return true; } } else { - for (ScRangePtr p = aRanges.First(); p; p = aRanges.Next()) + for ( size_t i = 0, nListSize = aRanges.size(); i < nListSize; ++i ) { - if (SearchRangeForEmptyCell(*p, rSearchItem, rCol, rRow, rUndoStr, pUndoDoc)) + ScRangePtr p = aRanges[ i ]; + if (SearchRangeForEmptyCell( *p, rSearchItem, rCol, rRow, rUndoStr, pUndoDoc )) return true; } } @@ -815,8 +818,11 @@ bool ScTable::SearchAndReplaceEmptyCells( bool bFound = false; ScMarkData aNewMark(rMark); aNewMark.ResetMark(); - for (ScRangePtr p = aRanges.First(); p; p = aRanges.Next()) + for ( size_t i = 0, nListSize = aRanges.size(); i < nListSize; ++i ) + { + ScRangePtr p = aRanges[ i ]; bFound |= SearchRangeForAllEmptyCells(*p, rSearchItem, aNewMark, rUndoStr, pUndoDoc); + } rMark = aNewMark; return bFound; } diff --git a/sc/source/core/tool/chartarr.cxx b/sc/source/core/tool/chartarr.cxx index 691e05d6d0e1..2ab1ae88a957 100644 --- a/sc/source/core/tool/chartarr.cxx +++ b/sc/source/core/tool/chartarr.cxx @@ -129,12 +129,12 @@ BOOL ScChartArray::operator==(const ScChartArray& rCmp) const ScMemChart* ScChartArray::CreateMemChart() { ScRangeListRef aRangeListRef(GetRangeList()); - ULONG nCount = aRangeListRef->Count(); + size_t nCount = aRangeListRef->size(); if ( nCount > 1 ) return CreateMemChartMulti(); else if ( nCount == 1 ) { - ScRange* pR = aRangeListRef->First(); + ScRangePtr pR = aRangeListRef->front(); if ( pR->aStart.Tab() != pR->aEnd.Tab() ) return CreateMemChartMulti(); else @@ -163,7 +163,7 @@ ScMemChart* ScChartArray::CreateMemChartSingle() SCROW nRow2; SCTAB nTab2; ScRangeListRef aRangeListRef(GetRangeList()); - aRangeListRef->First()->GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 ); + aRangeListRef->front()->GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 ); SCCOL nStrCol = nCol1; // fuer Beschriftung merken SCROW nStrRow = nRow1; diff --git a/sc/source/core/tool/charthelper.cxx b/sc/source/core/tool/charthelper.cxx index 47ca0c1f8b54..b79b54b4bc91 100644 --- a/sc/source/core/tool/charthelper.cxx +++ b/sc/source/core/tool/charthelper.cxx @@ -97,27 +97,26 @@ BOOL lcl_AdjustRanges( ScRangeList& rRanges, SCTAB nSourceTab, SCTAB nDestTab, S { //! if multiple sheets are copied, update references into the other copied sheets? - BOOL bChanged = FALSE; + bool bChanged = false; - ULONG nCount = rRanges.Count(); - for (ULONG i=0; i<nCount; i++) + for ( size_t i=0, nCount = rRanges.size(); i < nCount; i++ ) { - ScRange* pRange = rRanges.GetObject(i); + ScRangePtr pRange = rRanges[ i ]; if ( pRange->aStart.Tab() == nSourceTab && pRange->aEnd.Tab() == nSourceTab ) { pRange->aStart.SetTab( nDestTab ); pRange->aEnd.SetTab( nDestTab ); - bChanged = TRUE; + bChanged = true; } if ( pRange->aStart.Tab() >= nTabCount ) { pRange->aStart.SetTab( nTabCount > 0 ? ( nTabCount - 1 ) : 0 ); - bChanged = TRUE; + bChanged = true; } if ( pRange->aEnd.Tab() >= nTabCount ) { pRange->aEnd.SetTab( nTabCount > 0 ? ( nTabCount - 1 ) : 0 ); - bChanged = TRUE; + bChanged = true; } } diff --git a/sc/source/core/tool/chartpos.cxx b/sc/source/core/tool/chartpos.cxx index 41351de0f2b6..b8c34698e549 100644 --- a/sc/source/core/tool/chartpos.cxx +++ b/sc/source/core/tool/chartpos.cxx @@ -106,10 +106,11 @@ void ScChartPositioner::GlueState() return; bDummyUpperLeft = FALSE; ScRangePtr pR; - if ( aRangeListRef->Count() <= 1 ) + if ( aRangeListRef->size() <= 1 ) { - if ( (pR = aRangeListRef->First())!=NULL ) + if ( !aRangeListRef->empty() ) { + pR = aRangeListRef->front(); if ( pR->aStart.Tab() == pR->aEnd.Tab() ) eGlue = SC_CHARTGLUE_NONE; else @@ -126,29 +127,25 @@ void ScChartPositioner::GlueState() return; } - pR = aRangeListRef->First(); + pR = aRangeListRef->front(); nStartCol = pR->aStart.Col(); nStartRow = pR->aStart.Row(); SCCOL nMaxCols, nEndCol; SCROW nMaxRows, nEndRow; nMaxCols = nEndCol = 0; nMaxRows = nEndRow = 0; - do + for ( size_t i = 1, nRanges = aRangeListRef->size(); i <= nRanges; ++i ) // <= so 1 extra pass after last item { // umspannenden Bereich etc. feststellen SCCOLROW nTmp, n1, n2; - if ( (n1 = pR->aStart.Col()) < nStartCol ) - nStartCol = static_cast<SCCOL>(n1); - if ( (n2 = pR->aEnd.Col()) > nEndCol ) - nEndCol = static_cast<SCCOL>(n2); - if ( (nTmp = n2 - n1 + 1) > nMaxCols ) - nMaxCols = static_cast<SCCOL>(nTmp); - if ( (n1 = pR->aStart.Row()) < nStartRow ) - nStartRow = static_cast<SCROW>(n1); - if ( (n2 = pR->aEnd.Row()) > nEndRow ) - nEndRow = static_cast<SCROW>(n2); - if ( (nTmp = n2 - n1 + 1) > nMaxRows ) - nMaxRows = static_cast<SCROW>(nTmp); - } while ( (pR = aRangeListRef->Next())!=NULL ); + if ( (n1 = pR->aStart.Col()) < nStartCol ) nStartCol = static_cast<SCCOL>(n1 ); + if ( (n2 = pR->aEnd.Col() ) > nEndCol ) nEndCol = static_cast<SCCOL>(n2 ); + if ( (nTmp = n2 - n1 + 1 ) > nMaxCols ) nMaxCols = static_cast<SCCOL>(nTmp); + if ( (n1 = pR->aStart.Row()) < nStartRow ) nStartRow = static_cast<SCROW>(n1 ); + if ( (n2 = pR->aEnd.Row() ) > nEndRow ) nEndRow = static_cast<SCROW>(n2 ); + if ( (nTmp = n2 - n1 + 1 ) > nMaxRows ) nMaxRows = static_cast<SCROW>(nTmp); + if ( i < nRanges ) // in last pass; i = nRanges so don't use at() + pR = aRangeListRef->at( i ); + } SCCOL nC = nEndCol - nStartCol + 1; if ( nC == 1 ) { @@ -197,8 +194,9 @@ void ScChartPositioner::GlueState() SCCOL nCol, nCol1, nCol2; SCROW nRow, nRow1, nRow2; - for ( pR = aRangeListRef->First(); pR; pR = aRangeListRef->Next() ) + for ( size_t i = 0, nRanges = aRangeListRef->size(); i < nRanges; ++i ) { // Selektionen 2D als belegt markieren + pR = aRangeListRef->at( i ); nCol1 = pR->aStart.Col() - nStartCol; nCol2 = pR->aEnd.Col() - nStartCol; nRow1 = pR->aStart.Row() - nStartRow; @@ -301,9 +299,9 @@ void ScChartPositioner::CheckColRowHeaders() BOOL bColStrings = TRUE; BOOL bRowStrings = TRUE; GlueState(); - if ( aRangeListRef->Count() == 1 ) + if ( aRangeListRef->size() == 1 ) { - aRangeListRef->First()->GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 ); + aRangeListRef->front()->GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 ); if ( nCol1 > nCol2 || nRow1 > nRow2 ) bColStrings = bRowStrings = FALSE; else @@ -323,10 +321,12 @@ void ScChartPositioner::CheckColRowHeaders() else { BOOL bVert = (eGlue == SC_CHARTGLUE_NONE || eGlue == SC_CHARTGLUE_ROWS); - for ( ScRangePtr pR = aRangeListRef->First(); - pR && (bColStrings || bRowStrings); - pR = aRangeListRef->Next() ) + for ( size_t i = 0, nRanges = aRangeListRef->size(); + (i < nRanges) && (bColStrings || bRowStrings); + ++i + ) { + ScRangePtr pR = aRangeListRef->at( i ); pR->GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 ); BOOL bTopRow = (nRow1 == nStartRow); if ( bRowStrings && (bVert || nCol1 == nStartCol) ) @@ -392,12 +392,12 @@ void ScChartPositioner::CreatePositionMap() Table* pCols = new Table; Table* pNewRowTable = new Table; ScAddress* pNewAddress = new ScAddress; - ScRangePtr pR; Table* pCol; ScAddress* pPos; SCROW nNoGlueRow = 0; - for ( pR = aRangeListRef->First(); pR; pR = aRangeListRef->Next() ) + for ( size_t i = 0, nRanges = aRangeListRef->size(); i < nRanges; ++i ) { + ScRangePtr pR = aRangeListRef->at( i ); pR->GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 ); for ( nTab = nTab1; nTab <= nTab2; nTab++ ) { @@ -461,7 +461,6 @@ void ScChartPositioner::CreatePositionMap() if ( nColCount==0 || nRowCount==0 ) { // einen Eintrag ohne Daten erzeugen - pR = aRangeListRef->First(); if ( pCols->Count() > 0 ) pCol = (Table*) pCols->First(); else diff --git a/sc/source/core/tool/rangelst.cxx b/sc/source/core/tool/rangelst.cxx index ed93713eb65f..dbfcb728d54c 100644 --- a/sc/source/core/tool/rangelst.cxx +++ b/sc/source/core/tool/rangelst.cxx @@ -48,15 +48,7 @@ ScRangeList::~ScRangeList() { - for ( ScRangePtr pR = First(); pR; pR = Next() ) - delete pR; -} - -void ScRangeList::RemoveAll() -{ - for ( ScRangePtr pR = First(); pR; pR = Next() ) - delete pR; - Clear(); + clear(); } USHORT ScRangeList::Parse( const String& rStr, ScDocument* pDoc, USHORT nMask, @@ -116,11 +108,10 @@ void ScRangeList::Format( String& rStr, USHORT nFlags, ScDocument* pDoc, if (!cDelimiter) cDelimiter = ScCompiler::GetNativeSymbol(ocSep).GetChar(0); - ULONG nCnt = Count(); - for ( ULONG nIdx = 0; nIdx < nCnt; nIdx++ ) + for ( size_t nIdx = 0, nCnt = size(); nIdx < nCnt; ++nIdx ) { String aStr; - GetObject( nIdx )->Format( aStr, nFlags, pDoc, eConv ); + at( nIdx )->Format( aStr, nFlags, pDoc, eConv ); if ( nIdx ) rStr += cDelimiter; rStr += aStr; @@ -128,9 +119,9 @@ void ScRangeList::Format( String& rStr, USHORT nFlags, ScDocument* pDoc, } -void ScRangeList::Join( const ScRange& r, BOOL bIsInList ) +void ScRangeList::Join( const ScRange& r, bool bIsInList ) { - if ( !Count() ) + if ( empty() ) { Append( r ); return ; @@ -141,32 +132,42 @@ void ScRangeList::Join( const ScRange& r, BOOL bIsInList ) SCCOL nCol2 = r.aEnd.Col(); SCROW nRow2 = r.aEnd.Row(); SCTAB nTab2 = r.aEnd.Tab(); + ScRangePtr pOver = (ScRangePtr) &r; // fies aber wahr wenn bInList - ULONG nOldPos = 0; + size_t nOldPos = 0; if ( bIsInList ) { // merken um ggbf. zu loeschen bzw. wiederherzustellen - nOldPos = GetPos( pOver ); + for ( size_t i = 0, nRanges = size(); i < nRanges; ++i ) + { + if ( at( i ) == pOver ) + { + nOldPos = i; + break; + } + } } - BOOL bJoinedInput = FALSE; - for ( ScRangePtr p = First(); p && pOver; p = Next() ) + bool bJoinedInput = false; + + for ( size_t i = 0, nRanges = size(); i < nRanges; ++i ) { + ScRangePtr p = at( i ); if ( p == pOver ) continue; // derselbe, weiter mit dem naechsten - BOOL bJoined = FALSE; + bool bJoined = false; if ( p->In( r ) ) { // Range r in Range p enthalten oder identisch if ( bIsInList ) - bJoined = TRUE; // weg mit Range r + bJoined = true; // weg mit Range r else { // das war's dann - bJoinedInput = TRUE; // nicht anhaengen + bJoinedInput = true; // nicht anhaengen break; // for } } else if ( r.In( *p ) ) { // Range p in Range r enthalten, r zum neuen Range machen *p = r; - bJoined = TRUE; + bJoined = true; } if ( !bJoined && p->aStart.Tab() == nTab1 && p->aEnd.Tab() == nTab2 ) { // 2D @@ -175,12 +176,12 @@ void ScRangeList::Join( const ScRange& r, BOOL bIsInList ) if ( p->aStart.Row() == nRow2+1 ) { // oben p->aStart.SetRow( nRow1 ); - bJoined = TRUE; + bJoined = true; } else if ( p->aEnd.Row() == nRow1-1 ) { // unten p->aEnd.SetRow( nRow2 ); - bJoined = TRUE; + bJoined = true; } } else if ( p->aStart.Row() == nRow1 && p->aEnd.Row() == nRow2 ) @@ -188,12 +189,12 @@ void ScRangeList::Join( const ScRange& r, BOOL bIsInList ) if ( p->aStart.Col() == nCol2+1 ) { // links p->aStart.SetCol( nCol1 ); - bJoined = TRUE; + bJoined = true; } else if ( p->aEnd.Col() == nCol1-1 ) { // rechts p->aEnd.SetCol( nCol2 ); - bJoined = TRUE; + bJoined = true; } } } @@ -201,49 +202,51 @@ void ScRangeList::Join( const ScRange& r, BOOL bIsInList ) { if ( bIsInList ) { // innerhalb der Liste Range loeschen - Remove( nOldPos ); - delete pOver; + erase( begin() + nOldPos ); pOver = NULL; if ( nOldPos ) nOldPos--; // Seek richtig aufsetzen } - bJoinedInput = TRUE; - Join( *p, TRUE ); // rekursiv! + bJoinedInput = true; + Join( *p, true ); // rekursiv! } } - if ( bIsInList ) - Seek( nOldPos ); - else if ( !bJoinedInput ) + if ( !bIsInList && !bJoinedInput ) Append( r ); } -BOOL ScRangeList::operator==( const ScRangeList& r ) const +bool ScRangeList::operator==( const ScRangeList& r ) const { if ( this == &r ) - return TRUE; // identische Referenz - if ( Count() != r.Count() ) - return FALSE; - ULONG nCnt = Count(); - for ( ULONG nIdx = 0; nIdx < nCnt; nIdx++ ) + return true; // identische Referenz + size_t nCnt = size(); + if ( nCnt != r.size() ) + return false; + for ( size_t nIdx = 0; nIdx < nCnt; nIdx++ ) { - if ( *GetObject( nIdx ) != *r.GetObject( nIdx ) ) - return FALSE; // auch andere Reihenfolge ist ungleich + if ( *at( nIdx ) != *r.at( nIdx ) ) + return false; // auch andere Reihenfolge ist ungleich } - return TRUE; + return true; } -BOOL ScRangeList::operator!=( const ScRangeList& r ) const +bool ScRangeList::operator!=( const ScRangeList& r ) const { return !operator==( r ); } -BOOL ScRangeList::UpdateReference( UpdateRefMode eUpdateRefMode, - ScDocument* pDoc, const ScRange& rWhere, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz ) +bool ScRangeList::UpdateReference( + UpdateRefMode eUpdateRefMode, + ScDocument* pDoc, + const ScRange& rWhere, + SCsCOL nDx, + SCsROW nDy, + SCsTAB nDz +) { - BOOL bChanged = FALSE; - if ( Count() ) + bool bChanged = FALSE; + if ( !empty() ) { SCCOL nCol1; SCROW nRow1; @@ -252,8 +255,9 @@ BOOL ScRangeList::UpdateReference( UpdateRefMode eUpdateRefMode, SCROW nRow2; SCTAB nTab2; rWhere.GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 ); - for ( ScRange* pR = First(); pR; pR = Next() ) + for ( size_t i = 0, nRanges = size(); i < nRanges; ++i ) { + ScRangePtr pR = at( i ); SCCOL theCol1; SCROW theRow1; SCTAB theTab1; @@ -276,13 +280,11 @@ BOOL ScRangeList::UpdateReference( UpdateRefMode eUpdateRefMode, return bChanged; } - ScRange* ScRangeList::Find( const ScAddress& rAdr ) const { - ULONG nListCount = Count(); - for ( ULONG j = 0; j < nListCount; j++ ) + for ( size_t j = 0, nListCount = size(); j < nListCount; j++ ) { - ScRange* pR = GetObject( j ); + ScRangePtr pR = at( j ); if ( pR->In( rAdr ) ) return pR; } @@ -294,56 +296,49 @@ ScRangeList::ScRangeList( const ScRangeList& rList ) : ScRangeListBase(), SvRefBase() { - ULONG nListCount = rList.Count(); - for ( ULONG j = 0; j < nListCount; j++ ) - Append( *rList.GetObject( j ) ); + for ( size_t j = 0, nListCount = rList.size(); j < nListCount; j++ ) + Append( *rList[ j ] ); } ScRangeList& ScRangeList::operator=(const ScRangeList& rList) { - RemoveAll(); - - ULONG nListCount = rList.Count(); - for ( ULONG j = 0; j < nListCount; j++ ) - Append( *rList.GetObject( j ) ); - + clear(); + for ( size_t j = 0, nListCount = rList.size(); j < nListCount; j++ ) + Append( *rList[ j ] ); return *this; } -BOOL ScRangeList::Intersects( const ScRange& rRange ) const +bool ScRangeList::Intersects( const ScRange& rRange ) const { - ULONG nListCount = Count(); - for ( ULONG j = 0; j < nListCount; j++ ) - if ( GetObject(j)->Intersects( rRange ) ) - return TRUE; + for ( size_t j = 0, nListCount = size(); j < nListCount; j++ ) + if ( at( j )->Intersects( rRange ) ) + return true; - return FALSE; + return false; } -BOOL ScRangeList::In( const ScRange& rRange ) const +bool ScRangeList::In( const ScRange& rRange ) const { - ULONG nListCount = Count(); - for ( ULONG j = 0; j < nListCount; j++ ) - if ( GetObject(j)->In( rRange ) ) - return TRUE; + for ( size_t j = 0, nListCount = size(); j < nListCount; j++ ) + if ( at( j )->In( rRange ) ) + return true; - return FALSE; + return false; } -ULONG ScRangeList::GetCellCount() const +size_t ScRangeList::GetCellCount() const { - ULONG nCellCount = 0; - ULONG nListCount = Count(); - for ( ULONG j = 0; j < nListCount; j++ ) + size_t nCellCount = 0; + for ( size_t j = 0, nListCount = size(); j < nListCount; j++ ) { - ScRange* pR = GetObject( j ); - nCellCount += ULONG(pR->aEnd.Col() - pR->aStart.Col() + 1) - * ULONG(pR->aEnd.Row() - pR->aStart.Row() + 1) - * ULONG(pR->aEnd.Tab() - pR->aStart.Tab() + 1); + ScRangePtr pR = at( j ); + nCellCount += size_t(pR->aEnd.Col() - pR->aStart.Col() + 1) + * size_t(pR->aEnd.Row() - pR->aStart.Row() + 1) + * size_t(pR->aEnd.Tab() - pR->aStart.Tab() + 1); } return nCellCount; } diff --git a/sc/source/core/tool/rangeutl.cxx b/sc/source/core/tool/rangeutl.cxx index f577be9b12bb..857a032f028a 100644 --- a/sc/source/core/tool/rangeutl.cxx +++ b/sc/source/core/tool/rangeutl.cxx @@ -566,8 +566,10 @@ sal_Bool ScRangeStringConverter::GetRangeListFromString( while( nOffset >= 0 ) { ScRange* pRange = new ScRange; - if( GetRangeFromString( *pRange, rRangeListStr, pDocument, eConv, nOffset, cSeperator, cQuote ) && (nOffset >= 0) ) - rRangeList.Insert( pRange, LIST_APPEND ); + if ( GetRangeFromString( *pRange, rRangeListStr, pDocument, eConv, nOffset, cSeperator, cQuote ) + && (nOffset >= 0) + ) + rRangeList.push_back( pRange ); else if (nOffset > -1) bRet = sal_False; } @@ -721,10 +723,9 @@ void ScRangeStringConverter::GetStringFromRangeList( OUString sRangeListStr; if( pRangeList ) { - sal_Int32 nCount = pRangeList->Count(); - for( sal_Int32 nIndex = 0; nIndex < nCount; nIndex++ ) + for( size_t nIndex = 0, nCount = pRangeList->size(); nIndex < nCount; nIndex++ ) { - const ScRange* pRange = pRangeList->GetObject( nIndex ); + const ScRangePtr pRange = pRangeList->at( nIndex ); if( pRange ) GetStringFromRange( sRangeListStr, *pRange, pDocument, eConv, cSeperator, sal_True, nFormatFlags ); } diff --git a/sc/source/core/tool/reftokenhelper.cxx b/sc/source/core/tool/reftokenhelper.cxx index f61b9dc2b626..ef89559067e2 100644 --- a/sc/source/core/tool/reftokenhelper.cxx +++ b/sc/source/core/tool/reftokenhelper.cxx @@ -198,11 +198,11 @@ void ScRefTokenHelper::getTokenFromRange(ScSharedTokenRef& pToken, const ScRange void ScRefTokenHelper::getTokensFromRangeList(vector<ScSharedTokenRef>& pTokens, const ScRangeList& rRanges) { vector<ScSharedTokenRef> aTokens; - sal_uInt32 nCount = rRanges.Count(); + size_t nCount = rRanges.size(); aTokens.reserve(nCount); - for (sal_uInt32 i = 0; i < nCount; ++i) + for (size_t i = 0; i < nCount; ++i) { - ScRange* pRange = static_cast<ScRange*>(rRanges.GetObject(i)); + ScRange* pRange = rRanges[ i ]; if (!pRange) // failed. return; diff --git a/sc/source/filter/excel/excform.cxx b/sc/source/filter/excel/excform.cxx index 16807b7bf4ad..c9f30a39e545 100644 --- a/sc/source/filter/excel/excform.cxx +++ b/sc/source/filter/excel/excform.cxx @@ -1524,7 +1524,7 @@ BOOL ExcelToSc::GetAbsRefs( ScRangeList& rRangeList, XclImpStream& rStrm, sal_Si } rStrm.Seek( nEndPos ); - return rRangeList.Count() != 0; + return !rRangeList.empty(); } void ExcelToSc::DoMulArgs( DefTokenId eId, sal_uInt8 nAnz, sal_uInt8 nMinParamCount ) diff --git a/sc/source/filter/excel/excform8.cxx b/sc/source/filter/excel/excform8.cxx index b542a9bdd580..ccbdd9d2cb97 100644 --- a/sc/source/filter/excel/excform8.cxx +++ b/sc/source/filter/excel/excform8.cxx @@ -1586,7 +1586,7 @@ BOOL ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, sal_Size nLen ) } aIn.Seek( nEndPos ); - return r.Count() != 0; + return !r.empty(); } diff --git a/sc/source/filter/excel/xecontent.cxx b/sc/source/filter/excel/xecontent.cxx index 0ddbe3a191f5..408ba722b7bb 100644 --- a/sc/source/filter/excel/xecontent.cxx +++ b/sc/source/filter/excel/xecontent.cxx @@ -335,9 +335,12 @@ sal_uInt32 XclExpMergedcells::GetBaseXFId( const ScAddress& rPos ) const DBG_ASSERT( maBaseXFIds.size() == maMergedRanges.Count(), "XclExpMergedcells::GetBaseXFId - invalid lists" ); ScfUInt32Vec::const_iterator aIt = maBaseXFIds.begin(); ScRangeList& rNCRanges = const_cast< ScRangeList& >( maMergedRanges ); - for( const ScRange* pScRange = rNCRanges.First(); pScRange; pScRange = rNCRanges.Next(), ++aIt ) + for ( size_t i = 0, nRanges = rNCRanges.size(); i < nRanges; ++i, ++aIt ) + { + const ScRangePtr pScRange = rNCRanges[ i ]; if( pScRange->In( rPos ) ) return *aIt; + } return EXC_XFID_NOTFOUND; } @@ -363,16 +366,16 @@ void XclExpMergedcells::Save( XclExpStream& rStrm ) void XclExpMergedcells::SaveXml( XclExpXmlStream& rStrm ) { - ULONG nCount = maMergedRanges.Count(); + size_t nCount = maMergedRanges.size(); if( !nCount ) return; sax_fastparser::FSHelperPtr& rWorksheet = rStrm.GetCurrentStream(); rWorksheet->startElement( XML_mergeCells, XML_count, OString::valueOf( (sal_Int32) nCount ).getStr(), FSEND ); - for( ULONG i = 0; i < nCount; ++i ) + for( size_t i = 0; i < nCount; ++i ) { - if( const ScRange* pRange = maMergedRanges.GetObject( i ) ) + if( const ScRange* pRange = maMergedRanges[ i ] ) { rWorksheet->singleElement( XML_mergeCell, XML_ref, XclXmlUtils::ToOString( *pRange ).getStr(), @@ -576,9 +579,12 @@ XclExpLabelranges::XclExpLabelranges( const XclExpRoot& rRoot ) : // row label ranges FillRangeList( maRowRanges, rRoot.GetDoc().GetRowNameRangesRef(), nScTab ); // row labels only over 1 column (restriction of Excel97/2000/XP) - for( ScRange* pScRange = maRowRanges.First(); pScRange; pScRange = maRowRanges.Next() ) + for ( size_t i = 0, nRanges = maRowRanges.size(); i < nRanges; ++i ) + { + ScRangePtr pScRange = maRowRanges[ i ]; if( pScRange->aStart.Col() != pScRange->aEnd.Col() ) pScRange->aEnd.SetCol( pScRange->aStart.Col() ); + } // col label ranges FillRangeList( maColRanges, rRoot.GetDoc().GetColNameRangesRef(), nScTab ); } diff --git a/sc/source/filter/excel/xeformula.cxx b/sc/source/filter/excel/xeformula.cxx index 951e8e1c768a..08dc15417169 100644 --- a/sc/source/filter/excel/xeformula.cxx +++ b/sc/source/filter/excel/xeformula.cxx @@ -2603,18 +2603,18 @@ XclTokenArrayRef XclExpFormulaCompiler::CreateFormula( XclFormulaType eType, con XclTokenArrayRef XclExpFormulaCompiler::CreateFormula( XclFormulaType eType, const ScRangeList& rScRanges ) { - ULONG nCount = rScRanges.Count(); + size_t nCount = rScRanges.size(); if( nCount == 0 ) return XclTokenArrayRef(); ScTokenArray aScTokArr; SCTAB nCurrScTab = GetCurrScTab(); bool b3DRefOnly = mxImpl->Is3DRefOnly( eType ); - for( ULONG nIdx = 0; nIdx < nCount; ++nIdx ) + for( size_t nIdx = 0; nIdx < nCount; ++nIdx ) { if( nIdx > 0 ) aScTokArr.AddOpCode( ocUnion ); - lclPutRangeToTokenArray( aScTokArr, *rScRanges.GetObject( nIdx ), nCurrScTab, b3DRefOnly ); + lclPutRangeToTokenArray( aScTokArr, *rScRanges[ nIdx ], nCurrScTab, b3DRefOnly ); } return mxImpl->CreateFormula( eType, aScTokArr ); } diff --git a/sc/source/filter/excel/xehelper.cxx b/sc/source/filter/excel/xehelper.cxx index 3aeb080cb316..f4574515ed17 100644 --- a/sc/source/filter/excel/xehelper.cxx +++ b/sc/source/filter/excel/xehelper.cxx @@ -260,13 +260,11 @@ bool XclExpAddressConverter::ConvertRange( XclRange& rXclRange, void XclExpAddressConverter::ValidateRangeList( ScRangeList& rScRanges, bool bWarn ) { - ULONG nIdx = rScRanges.Count(); - while( nIdx ) + for ( size_t nRange = rScRanges.size(); nRange > 0; ) { - --nIdx; // backwards to keep nIdx valid - ScRange* pScRange = rScRanges.GetObject( nIdx ); - if( pScRange && !CheckRange( *pScRange, bWarn ) ) - delete rScRanges.Remove( nIdx ); + ScRangePtr pScRange = rScRanges[ --nRange ]; + if( !CheckRange( *pScRange, bWarn ) ) + rScRanges.erase( rScRanges.begin() + nRange ); } } @@ -274,9 +272,9 @@ void XclExpAddressConverter::ConvertRangeList( XclRangeList& rXclRanges, const ScRangeList& rScRanges, bool bWarn ) { rXclRanges.clear(); - for( ULONG nPos = 0, nCount = rScRanges.Count(); nPos < nCount; ++nPos ) + for( size_t nPos = 0, nCount = rScRanges.size(); nPos < nCount; ++nPos ) { - if( const ScRange* pScRange = rScRanges.GetObject( nPos ) ) + if( const ScRange* pScRange = rScRanges[ nPos ] ) { XclRange aXclRange( ScAddress::UNINITIALIZED ); if( ConvertRange( aXclRange, *pScRange, bWarn ) ) diff --git a/sc/source/filter/excel/xename.cxx b/sc/source/filter/excel/xename.cxx index 2598a3f83b28..abfc3ccc7d6e 100644 --- a/sc/source/filter/excel/xename.cxx +++ b/sc/source/filter/excel/xename.cxx @@ -639,7 +639,7 @@ void XclExpNameManagerImpl::CreateBuiltInNames() } // create the NAME record (do not warn if ranges are shrunken) GetAddressConverter().ValidateRangeList( aRangeList, false ); - if( aRangeList.Count() > 0 ) + if( !aRangeList.empty() ) GetNameManager().InsertBuiltInName( EXC_BUILTIN_PRINTAREA, aRangeList ); } @@ -658,7 +658,7 @@ void XclExpNameManagerImpl::CreateBuiltInNames() GetXclMaxPos().Col(), pRowRange->aEnd.Row(), nScTab ) ); // create the NAME record GetAddressConverter().ValidateRangeList( aTitleList, false ); - if( aTitleList.Count() > 0 ) + if( !aTitleList.empty() ) GetNameManager().InsertBuiltInName( EXC_BUILTIN_PRINTTITLES, aTitleList ); // *** 3) filter ranges *** --------------------------------------- @@ -731,10 +731,10 @@ sal_uInt16 XclExpNameManager::InsertBuiltInName( sal_Unicode cBuiltIn, const ScR sal_uInt16 XclExpNameManager::InsertBuiltInName( sal_Unicode cBuiltIn, const ScRangeList& rRangeList ) { sal_uInt16 nNameIdx = 0; - if( rRangeList.Count() ) + if( !rRangeList.empty() ) { XclTokenArrayRef xTokArr = GetFormulaCompiler().CreateFormula( EXC_FMLATYPE_NAME, rRangeList ); - nNameIdx = mxImpl->InsertBuiltInName( cBuiltIn, xTokArr, rRangeList.GetObject( 0 )->aStart.Tab() ); + nNameIdx = mxImpl->InsertBuiltInName( cBuiltIn, xTokArr, rRangeList.front()->aStart.Tab() ); } return nNameIdx; } diff --git a/sc/source/filter/excel/xicontent.cxx b/sc/source/filter/excel/xicontent.cxx index 90cf202de988..d1d373ad73a7 100644 --- a/sc/source/filter/excel/xicontent.cxx +++ b/sc/source/filter/excel/xicontent.cxx @@ -438,8 +438,9 @@ void XclImpLabelranges::ReadLabelranges( XclImpStream& rStrm ) ScRangeList aRowScRanges; rAddrConv.ConvertRangeList( aRowScRanges, aRowXclRanges, nScTab, false ); xLabelRangesRef = rDoc.GetRowNameRangesRef(); - for( pScRange = aRowScRanges.First(); pScRange; pScRange = aRowScRanges.Next() ) + for ( size_t i = 0, nRanges = aRowScRanges.size(); i < nRanges; ++i ) { + pScRange = aRowScRanges[ i ]; ScRange aDataRange( *pScRange ); if( aDataRange.aEnd.Col() < MAXCOL ) { @@ -458,8 +459,10 @@ void XclImpLabelranges::ReadLabelranges( XclImpStream& rStrm ) ScRangeList aColScRanges; rAddrConv.ConvertRangeList( aColScRanges, aColXclRanges, nScTab, false ); xLabelRangesRef = rDoc.GetColNameRangesRef(); - for( pScRange = aColScRanges.First(); pScRange; pScRange = aColScRanges.Next() ) + + for ( size_t i = 0, nRanges = aColScRanges.size(); i < nRanges; ++i ) { + pScRange = aColScRanges[ i ]; ScRange aDataRange( *pScRange ); if( aDataRange.aEnd.Row() < MAXROW ) { @@ -508,7 +511,7 @@ void XclImpCondFormat::ReadCF( XclImpStream& rStrm ) } // entire conditional format outside of valid range? - if( !maRanges.Count() ) + if( maRanges.empty() ) return; sal_uInt8 nType, nOperator; @@ -594,7 +597,7 @@ void XclImpCondFormat::ReadCF( XclImpStream& rStrm ) // *** formulas *** - const ScAddress& rPos = maRanges.GetObject( 0 )->aStart; // assured above that maRanges is not empty + const ScAddress& rPos = maRanges.front()->aStart; // assured above that maRanges is not empty ExcelToSc& rFmlaConv = GetOldFmlaConverter(); ::std::auto_ptr< ScTokenArray > xTokArr1; @@ -643,8 +646,9 @@ void XclImpCondFormat::Apply() aPattern.GetItemSet().Put( SfxUInt32Item( ATTR_CONDITIONAL, nKey ) ); // maRanges contains only valid cell ranges - for( const ScRange* pScRange = maRanges.First(); pScRange; pScRange = maRanges.Next() ) + for ( size_t i = 0, nRanges = maRanges.size(); i < nRanges; ++i ) { + const ScRangePtr pScRange = maRanges[ i ]; rDoc.ApplyPatternAreaTab( pScRange->aStart.Col(), pScRange->aStart.Row(), pScRange->aEnd.Col(), pScRange->aEnd.Row(), @@ -776,7 +780,7 @@ void XclImpValidationManager::ReadDV( XclImpStream& rStrm ) rRoot.GetAddressConverter().ConvertRangeList( aScRanges, aXclRanges, nScTab, true ); // only continue if there are valid ranges - if ( !aScRanges.Count() ) + if ( aScRanges.empty() ) return; bool bIsValid = true; // valid settings in flags field @@ -816,7 +820,7 @@ void XclImpValidationManager::ReadDV( XclImpStream& rStrm ) // first range for base address for relative references - const ScRange& rScRange = *aScRanges.GetObject( 0 ); // aScRanges is not empty + const ScRange& rScRange = *aScRanges.front(); // aScRanges is not empty // process string list of a list validity (convert to list of string tokens) if( xTokArr1.get() && (eValMode == SC_VALID_LIST) && ::get_flag( nFlags, EXC_DV_STRINGLIST ) ) @@ -864,9 +868,12 @@ void XclImpValidationManager::Apply() aPattern.GetItemSet().Put( SfxUInt32Item( ATTR_VALIDDATA, nHandle ) ); // apply all ranges - for( const ScRange* pScRange = rItem.maRanges.First(); pScRange; pScRange = rItem.maRanges.Next() ) + for ( size_t i = 0, nRanges = rItem.maRanges.size(); i < nRanges; ++i ) + { + const ScRangePtr pScRange = rItem.maRanges[ i ]; rDoc.ApplyPatternAreaTab( pScRange->aStart.Col(), pScRange->aStart.Row(), pScRange->aEnd.Col(), pScRange->aEnd.Row(), pScRange->aStart.Tab(), aPattern ); + } } maDVItems.clear(); } diff --git a/sc/source/filter/excel/xiescher.cxx b/sc/source/filter/excel/xiescher.cxx index c674851e5e74..a7b5cee9a2af 100644 --- a/sc/source/filter/excel/xiescher.cxx +++ b/sc/source/filter/excel/xiescher.cxx @@ -1860,8 +1860,11 @@ void XclImpControlHelper::ReadCellLinkFormula( XclImpStream& rStrm, bool bWithBo ScRangeList aScRanges; ReadRangeList( aScRanges, rStrm, bWithBoundSize ); // Use first cell of first range - if( const ScRange* pScRange = aScRanges.GetObject( 0 ) ) + if ( !aScRanges.empty() ) + { + const ScRangePtr pScRange = aScRanges.front(); mxCellLink.reset( new ScAddress( pScRange->aStart ) ); + } } void XclImpControlHelper::ReadSourceRangeFormula( XclImpStream& rStrm, bool bWithBoundSize ) @@ -1869,8 +1872,11 @@ void XclImpControlHelper::ReadSourceRangeFormula( XclImpStream& rStrm, bool bWit ScRangeList aScRanges; ReadRangeList( aScRanges, rStrm, bWithBoundSize ); // Use first range - if( const ScRange* pScRange = aScRanges.GetObject( 0 ) ) + if ( !aScRanges.empty() ) + { + const ScRangePtr pScRange = aScRanges.front(); mxSrcRange.reset( new ScRange( *pScRange ) ); + } } void XclImpControlHelper::DoProcessControl( ScfPropertySet& ) const diff --git a/sc/source/filter/excel/xiformula.cxx b/sc/source/filter/excel/xiformula.cxx index c9927ff570fd..9a6343d3fb9c 100644 --- a/sc/source/filter/excel/xiformula.cxx +++ b/sc/source/filter/excel/xiformula.cxx @@ -67,7 +67,7 @@ void XclImpFmlaCompImpl::CreateRangeList( ScRangeList& rScRanges, XclFormulaType /*eType*/, const XclTokenArray& rXclTokArr, XclImpStream& /*rStrm*/ ) { - rScRanges.RemoveAll(); + rScRanges.clear(); //! evil hack, using old formula import :-) if( !rXclTokArr.Empty() ) diff --git a/sc/source/filter/excel/xihelper.cxx b/sc/source/filter/excel/xihelper.cxx index bb17cc656add..f01213e76e14 100644 --- a/sc/source/filter/excel/xihelper.cxx +++ b/sc/source/filter/excel/xihelper.cxx @@ -140,7 +140,7 @@ bool XclImpAddressConverter::ConvertRange( ScRange& rScRange, void XclImpAddressConverter::ConvertRangeList( ScRangeList& rScRanges, const XclRangeList& rXclRanges, SCTAB nScTab, bool bWarn ) { - rScRanges.RemoveAll(); + rScRanges.clear(); for( XclRangeList::const_iterator aIt = rXclRanges.begin(), aEnd = rXclRanges.end(); aIt != aEnd; ++aIt ) { ScRange aScRange( ScAddress::UNINITIALIZED ); diff --git a/sc/source/filter/excel/xistyle.cxx b/sc/source/filter/excel/xistyle.cxx index 62541f992da7..e459ed1ddd6b 100644 --- a/sc/source/filter/excel/xistyle.cxx +++ b/sc/source/filter/excel/xistyle.cxx @@ -1763,7 +1763,7 @@ void XclImpXFRangeBuffer::Initialize() { maColumns.clear(); maHyperlinks.clear(); - maMergeList.RemoveAll(); + maMergeList.clear(); } void XclImpXFRangeBuffer::SetXF( const ScAddress& rScPos, sal_uInt16 nXFIndex, XclImpXFInsertMode eMode ) @@ -1788,10 +1788,15 @@ void XclImpXFRangeBuffer::SetXF( const ScAddress& rScPos, sal_uInt16 nXFIndex, X if( pXF && ((pXF->GetHorAlign() == EXC_XF_HOR_CENTER_AS) || (pXF->GetHorAlign() == EXC_XF_HOR_FILL)) ) { // expand last merged range if this attribute is set repeatedly - ScRange* pRange = maMergeList.Last(); - if( pRange && (pRange->aEnd.Row() == nScRow) && (pRange->aEnd.Col() + 1 == nScCol) - && (eMode == xlXFModeBlank) ) - pRange->aEnd.IncCol(); + if ( !maMergeList.empty() ) + { + ScRange* pRange = maMergeList.back(); + if( (pRange->aEnd.Row() == nScRow) + && (pRange->aEnd.Col() + 1 == nScCol) + && (eMode == xlXFModeBlank) + ) + pRange->aEnd.IncCol(); + } else if( eMode != xlXFModeBlank ) // #108781# do not merge empty cells SetMerge( nScCol, nScRow ); } @@ -1913,8 +1918,9 @@ void XclImpXFRangeBuffer::Finalize() XclImpHyperlink::InsertUrl( GetRoot(), aLIt->first, aLIt->second ); // apply cell merging - for( const ScRange* pRange = maMergeList.First(); pRange; pRange = maMergeList.Next() ) + for ( size_t i = 0, nRange = maMergeList.size(); i < nRange; ++i ) { + const ScRangePtr pRange = maMergeList[ i ]; const ScAddress& rStart = pRange->aStart; const ScAddress& rEnd = pRange->aEnd; bool bMultiCol = rStart.Col() != rEnd.Col(); diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx index 87f444a693f6..83fa26b26785 100644 --- a/sc/source/filter/html/htmlpars.cxx +++ b/sc/source/filter/html/htmlpars.cxx @@ -370,8 +370,9 @@ void ScHTMLLayoutParser::SkipLocked( ScEEParseEntry* pE, BOOL bJoin ) do { bAgain = FALSE; - for ( ScRange* pR = xLockedList->First(); pR; pR = xLockedList->Next() ) + for ( size_t i = 0, nRanges = xLockedList->size(); i < nRanges; ++i ) { + ScRangePtr pR = xLockedList->at( i ); if ( pR->Intersects( aRange ) ) { pE->nCol = pR->aEnd.Col() + 1; @@ -396,9 +397,7 @@ void ScHTMLLayoutParser::SkipLocked( ScEEParseEntry* pE, BOOL bJoin ) void ScHTMLLayoutParser::Adjust() { - for ( ScRange* pR = xLockedList->First(); pR; pR = xLockedList->Next() ) - delete pR; - xLockedList->Clear(); + xLockedList->clear(); ScHTMLAdjustStack aStack; ScHTMLAdjustStackEntry* pS; USHORT nTab = 0; @@ -2039,7 +2038,9 @@ ScHTMLSize ScHTMLTable::GetSpan( const ScHTMLPos& rCellPos ) const { ScHTMLSize aSpan( 1, 1 ); ScRange* pRange = 0; - if( ((pRange = maVMergedCells.Find( rCellPos.MakeAddr() )) != 0) || ((pRange = maHMergedCells.Find( rCellPos.MakeAddr() )) != 0) ) + if( ( (pRange = maVMergedCells.Find( rCellPos.MakeAddr() ) ) != 0) + || ( (pRange = maHMergedCells.Find( rCellPos.MakeAddr() ) ) != 0) + ) aSpan.Set( pRange->aEnd.Col() - pRange->aStart.Col() + 1, pRange->aEnd.Row() - pRange->aStart.Row() + 1 ); return aSpan; } @@ -2621,8 +2622,11 @@ void ScHTMLTable::FillEmptyCells() aIter->FillEmptyCells(); // insert the final vertically merged ranges into maUsedCells - for( const ScRange* pRange = maVMergedCells.First(); pRange; pRange = maVMergedCells.Next() ) + for ( size_t i = 0, nRanges = maVMergedCells.size(); i < nRanges; ++i ) + { + ScRangePtr pRange = maVMergedCells[ i ]; maUsedCells.Join( *pRange ); + } for( ScAddress aAddr; aAddr.Row() < maSize.mnRows; aAddr.IncRow() ) { diff --git a/sc/source/filter/xcl97/xcl97rec.cxx b/sc/source/filter/xcl97/xcl97rec.cxx index fbd640317dd2..84e305ca43ab 100644 --- a/sc/source/filter/xcl97/xcl97rec.cxx +++ b/sc/source/filter/xcl97/xcl97rec.cxx @@ -1216,9 +1216,9 @@ ExcEScenario::ExcEScenario( const XclExpRoot& rRoot, SCTAB nTab ) String sText; double fVal; - for( UINT32 nRange = 0; (nRange < pRList->Count()) && bContLoop; nRange++ ) + for( size_t nRange = 0; (nRange < pRList->size()) && bContLoop; nRange++ ) { - const ScRange* pRange = pRList->GetObject( nRange ); + const ScRange* pRange = pRList->at( nRange ); for( nRow = pRange->aStart.Row(); (nRow <= pRange->aEnd.Row()) && bContLoop; nRow++ ) for( nCol = pRange->aStart.Col(); (nCol <= pRange->aEnd.Col()) && bContLoop; nCol++ ) { diff --git a/sc/source/filter/xml/XMLStylesImportHelper.cxx b/sc/source/filter/xml/XMLStylesImportHelper.cxx index 0906a2a016a8..37f925e36682 100644 --- a/sc/source/filter/xml/XMLStylesImportHelper.cxx +++ b/sc/source/filter/xml/XMLStylesImportHelper.cxx @@ -65,54 +65,6 @@ ScMyStyleRanges::~ScMyStyleRanges() delete pCurrencyList; } -void ScMyStyleRanges::AddRange(const ScRange& rRange, ScRangeList* pList, - const rtl::OUString* pStyleName, const sal_Int16 nType, - ScXMLImport& rImport, const sal_uInt32 nMaxRanges) -{ - pList->Join(rRange); - DBG_ASSERT(nMaxRanges > 0, "MaxRanges to less"); - if (pList->Count() > nMaxRanges) - { - sal_Int32 nCount(pList->Count()); - ScRange* pRange(NULL); - for (sal_Int32 i = 0; i < nCount; ++i) - { - pRange = pList->GetObject(i); - if (pRange && (pRange->aEnd.Row() + 1 < rRange.aStart.Row())) - { - rImport.SetStyleToRange(*pRange, pStyleName, nType, NULL); - delete pRange; - pRange = NULL; - pList->Remove(i); - } - } - } -} - -void ScMyStyleRanges::AddCurrencyRange(const ScRange& rRange, ScRangeListRef xList, - const rtl::OUString* pStyleName, const rtl::OUString* pCurrency, - ScXMLImport& rImport, const sal_uInt32 nMaxRanges) -{ - xList->Join(rRange); - DBG_ASSERT(nMaxRanges > 0, "MaxRanges to less"); - if (xList->Count() > nMaxRanges) - { - sal_Int32 nCount(xList->Count()); - ScRange* pRange(NULL); - for (sal_Int32 i = 0; i < nCount; ++i) - { - pRange = xList->GetObject(i); - if (pRange && (pRange->aEnd.Row() + 1 < rRange.aStart.Row())) - { - rImport.SetStyleToRange(*pRange, pStyleName, util::NumberFormat::CURRENCY, pCurrency); - delete pRange; - pRange = NULL; - xList->Remove(i); - } - } - } -} - void ScMyStyleRanges::AddRange(const ScRange& rRange, const rtl::OUString* /*pStyleName*/, const sal_Int16 nType, ScXMLImport& /*rImport*/, const sal_uInt32 /*nMaxRanges*/) @@ -270,18 +222,16 @@ void ScMyStyleRanges::SetStylesToRanges(ScRangeList* pList, const rtl::OUString* pStyleName, const sal_Int16 nCellType, const rtl::OUString* pCurrency, ScXMLImport& rImport) { - sal_Int32 nCount(pList->Count()); - for (sal_Int32 i = 0; i < nCount; ++i) - rImport.SetStyleToRange(*pList->GetObject(i), pStyleName, nCellType, pCurrency); + for ( size_t i = 0, nCount = pList->size(); i < nCount; ++i) + rImport.SetStyleToRange( *pList->at(i), pStyleName, nCellType, pCurrency ); } void ScMyStyleRanges::SetStylesToRanges(ScRangeListRef xList, const rtl::OUString* pStyleName, const sal_Int16 nCellType, const rtl::OUString* pCurrency, ScXMLImport& rImport) { - sal_Int32 nCount(xList->Count()); - for (sal_Int32 i = 0; i < nCount; ++i) - rImport.SetStyleToRange(*xList->GetObject(i), pStyleName, nCellType, pCurrency); + for (size_t i = 0, nCount = xList->size(); i < nCount; ++i) + rImport.SetStyleToRange( *xList->at(i), pStyleName, nCellType, pCurrency ); } void ScMyStyleRanges::SetStylesToRanges(const rtl::OUString* pStyleName, ScXMLImport& rImport) diff --git a/sc/source/filter/xml/XMLStylesImportHelper.hxx b/sc/source/filter/xml/XMLStylesImportHelper.hxx index 2c39d4eacf12..b7f3e18906aa 100644 --- a/sc/source/filter/xml/XMLStylesImportHelper.hxx +++ b/sc/source/filter/xml/XMLStylesImportHelper.hxx @@ -105,12 +105,6 @@ class ScMyStyleRanges : public SvRefBase ::boost::shared_ptr<ScSimpleRangeList> mpUndefinedList; ScMyCurrencyStylesSet* pCurrencyList; - void AddRange(const ScRange& rRange, ScRangeList* pList, - const rtl::OUString* pStyleName, const sal_Int16 nType, - ScXMLImport& rImport, const sal_uInt32 nMaxRanges); - void AddCurrencyRange(const ScRange& rRange, ScRangeListRef xList, - const rtl::OUString* pStyleName, const rtl::OUString* pCurrency, - ScXMLImport& rImport, const sal_uInt32 nMaxRanges); void SetStylesToRanges(const ::std::list<ScRange>& rList, const rtl::OUString* pStyleName, const sal_Int16 nCellType, const rtl::OUString* pCurrency, ScXMLImport& rImport); diff --git a/sc/source/filter/xml/xmlsceni.cxx b/sc/source/filter/xml/xmlsceni.cxx index 3235941af5b2..f8ae7c9d64fb 100644 --- a/sc/source/filter/xml/xmlsceni.cxx +++ b/sc/source/filter/xml/xmlsceni.cxx @@ -163,9 +163,9 @@ void ScXMLTableScenarioContext::EndElement() if( bProtected ) nFlags |= SC_SCENARIO_PROTECT; pDoc->SetScenarioData( nCurrTable, String( sComment ), aBorderColor, nFlags ); - for( sal_Int32 i = 0; i < static_cast<sal_Int32>(aScenarioRanges.Count()); ++i ) + for( size_t i = 0; i < aScenarioRanges.size(); ++i ) { - ScRange* pRange(aScenarioRanges.GetObject( i )); + ScRange* pRange(aScenarioRanges[ i ]); if( pRange ) pDoc->ApplyFlagsTab( pRange->aStart.Col(), pRange->aStart.Row(), pRange->aEnd.Col(), pRange->aEnd.Row(), nCurrTable, SC_MF_SCENARIO ); diff --git a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx index 5d18beb574b4..b22a7bd33965 100644 --- a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx +++ b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx @@ -270,14 +270,6 @@ void ScAccessibleSpreadsheet::Notify( SfxBroadcaster& rBC, const SfxHint& rHint else mbDelIns = sal_False; } - // no longer needed, because the document calls the VisAreaChanged method -/* else if (rRef.GetId() == SC_HINT_ACC_VISAREACHANGED) - { - AccessibleEventObject aEvent; - aEvent.EventId = AccessibleEventId::VISIBLE_DATA_CHANGED; - aEvent.Source = uno::Reference< XAccessibleContext >(this); - - CommitChange(aEvent);*/ // commented out, because to use a ModelChangeEvent is not the right way // at the moment there is no way, but the Java/Gnome Api should be extended sometime /* if (mpViewShell) @@ -296,15 +288,6 @@ void ScAccessibleSpreadsheet::Notify( SfxBroadcaster& rBC, const SfxHint& rHint CommitTableModelChange(aNewPos.Top(), aNewPos.Left(), aNewPos.Bottom(), aNewPos.Right(), AccessibleTableModelChangeType::UPDATE); } }*/ - // no longer needed, because the document calls the BoundingBoxChanged method -/* else if (rRef.GetId() == SC_HINT_ACC_WINDOWRESIZED) - { - AccessibleEventObject aEvent; - aEvent.EventId = AccessibleEventId::BOUNDRECT_CHANGED; - aEvent.Source = uno::Reference< XAccessibleContext >(this); - - CommitChange(aEvent); - }*/ } else if (rHint.ISA( ScUpdateRefHint )) { @@ -781,9 +764,9 @@ void ScAccessibleSpreadsheet::CreateSortedMarkedCells() { mpSortedMarkedCells = new std::vector<ScMyAddress>(); mpSortedMarkedCells->reserve(mpMarkedRanges->GetCellCount()); - ScRange* pRange = mpMarkedRanges->First(); - while (pRange) + for ( size_t i = 0, ListSize = mpMarkedRanges->size(); i < ListSize; ++i ) { + ScRangePtr pRange = mpMarkedRanges->at( i ); if (pRange->aStart.Tab() != pRange->aEnd.Tab()) { if ((maActiveCell.Tab() >= pRange->aStart.Tab()) || @@ -805,7 +788,6 @@ void ScAccessibleSpreadsheet::CreateSortedMarkedCells() { DBG_ERROR("Range of wrong table"); } - pRange = mpMarkedRanges->Next(); } std::sort(mpSortedMarkedCells->begin(), mpSortedMarkedCells->end()); } diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx index 5b0b8cbcbca3..e9c6fe03433f 100644 --- a/sc/source/ui/app/inputwin.cxx +++ b/sc/source/ui/app/inputwin.cxx @@ -273,11 +273,11 @@ sal_Bool ScInputWindow::UseSubTotal(ScRangeList* pRangeList) const if ( pViewSh ) { ScDocument* pDoc = pViewSh->GetViewData()->GetDocument(); - sal_Int32 nRangeCount (pRangeList->Count()); - sal_Int32 nRangeIndex (0); + size_t nRangeCount (pRangeList->size()); + size_t nRangeIndex (0); while (!bSubTotal && nRangeIndex < nRangeCount) { - const ScRange* pRange = pRangeList->GetObject( nRangeIndex ); + const ScRange* pRange = pRangeList->at( nRangeIndex ); if( pRange ) { SCTAB nTabEnd(pRange->aEnd.Tab()); @@ -310,7 +310,7 @@ sal_Bool ScInputWindow::UseSubTotal(ScRangeList* pRangeList) const nRangeIndex = 0; while (!bSubTotal && nRangeIndex < nRangeCount) { - const ScRange* pRange = pRangeList->GetObject( nRangeIndex ); + const ScRange* pRange = pRangeList->at( nRangeIndex ); if( pRange ) { ScRange aDBArea; @@ -375,10 +375,10 @@ void __EXPORT ScInputWindow::Select() // check if one of the marked ranges is empty bool bEmpty = false; - const ULONG nCount = aMarkRangeList.Count(); - for ( ULONG i = 0; i < nCount; ++i ) + const size_t nCount = aMarkRangeList.size(); + for ( size_t i = 0; i < nCount; ++i ) { - const ScRange aRange( *aMarkRangeList.GetObject( i ) ); + const ScRange aRange( *aMarkRangeList.at( i ) ); if ( pDoc->IsBlockEmpty( aRange.aStart.Tab(), aRange.aStart.Col(), aRange.aStart.Row(), aRange.aEnd.Col(), aRange.aEnd.Row() ) ) @@ -394,7 +394,7 @@ void __EXPORT ScInputWindow::Select() const BOOL bDataFound = pViewSh->GetAutoSumArea( aRangeList ); if ( bDataFound ) { - ScAddress aAddr = aRangeList.Last()->aEnd; + ScAddress aAddr = aRangeList.back()->aEnd; aAddr.IncRow(); const sal_Bool bSubTotal( UseSubTotal( &aRangeList ) ); pViewSh->EnterAutoSum( aRangeList, bSubTotal, aAddr ); @@ -403,9 +403,9 @@ void __EXPORT ScInputWindow::Select() else { const sal_Bool bSubTotal( UseSubTotal( &aMarkRangeList ) ); - for ( ULONG i = 0; i < nCount; ++i ) + for ( size_t i = 0; i < nCount; ++i ) { - const ScRange aRange( *aMarkRangeList.GetObject( i ) ); + const ScRange aRange( *aMarkRangeList.at( i ) ); const bool bSetCursor = ( i == nCount - 1 ? true : false ); const bool bContinue = ( i != 0 ? true : false ); if ( !pViewSh->AutoSum( aRange, bSubTotal, bSetCursor, bContinue ) ) diff --git a/sc/source/ui/app/rfindlst.cxx b/sc/source/ui/app/rfindlst.cxx index 8f2526197787..8155d5e9dccb 100644 --- a/sc/source/ui/app/rfindlst.cxx +++ b/sc/source/ui/app/rfindlst.cxx @@ -59,7 +59,7 @@ ScRangeFindList::~ScRangeFindList() } } -ColorData ScRangeFindList::GetColorName( USHORT nIndex ) // static +ColorData ScRangeFindList::GetColorName( size_t nIndex ) // static { return aColNames[nIndex % SC_RANGECOLORS]; } diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx index 4738e60c67a0..356685141c2e 100644 --- a/sc/source/ui/docshell/docfunc.cxx +++ b/sc/source/ui/docshell/docfunc.cxx @@ -547,13 +547,14 @@ static void lcl_collectAllPredOrSuccRanges( ScDocument* pDoc = rDocShell.GetDocument(); vector<ScSharedTokenRef> aRefTokens; ScRangeList aSrcRanges(rSrcRanges); - ScRange* p = aSrcRanges.First(); - if (!p) + if ( aSrcRanges.empty() ) return; + ScRangePtr p = aSrcRanges.front(); ScDetectiveFunc aDetFunc(pDoc, p->aStart.Tab()); ScRangeList aDestRanges; - for (; p; p = aSrcRanges.Next()) + for ( size_t i = 1, ListSize = aSrcRanges.size(); i < ListSize; ++i ) { + p = aSrcRanges[ i ]; if (bPred) { aDetFunc.GetAllPreds( diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx index e12bc7dc8e9a..94c10ae7b8df 100644 --- a/sc/source/ui/docshell/docsh3.cxx +++ b/sc/source/ui/docshell/docsh3.cxx @@ -261,11 +261,10 @@ void ScDocShell::UnlockPaint_Impl(BOOL bDoc) if (xRangeList) { USHORT nParts = pPaint->GetParts(); - ULONG nCount = xRangeList->Count(); - for ( ULONG i=0; i<nCount; i++ ) + for ( size_t i = 0, nCount = xRangeList->size(); i < nCount; i++ ) { //! nExtFlags ??? - ScRange aRange = *xRangeList->GetObject(i); + ScRange aRange = *xRangeList->at( i ); PostPaint( aRange.aStart.Col(), aRange.aStart.Row(), aRange.aStart.Tab(), aRange.aEnd.Col(), aRange.aEnd.Row(), aRange.aEnd.Tab(), nParts ); diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx index 5ca0e9e7dd1a..58977fbb9874 100644 --- a/sc/source/ui/docshell/docsh4.cxx +++ b/sc/source/ui/docshell/docsh4.cxx @@ -345,10 +345,10 @@ void ScDocShell::Execute( SfxRequest& rReq ) { aRangeListRef = new ScRangeList; aRangeListRef->Parse( aRangeName, pDoc ); - if ( aRangeListRef->Count() ) + if ( !aRangeListRef->empty() ) { bMultiRange = TRUE; - aSingleRange = *aRangeListRef->GetObject(0); // fuer Header + aSingleRange = *aRangeListRef->front(); // fuer Header bValid = TRUE; } else diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx index 47e2378ca36f..85dbdbeceebd 100644 --- a/sc/source/ui/docshell/externalrefmgr.cxx +++ b/sc/source/ui/docshell/externalrefmgr.cxx @@ -407,7 +407,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.Count()) + if ( maCachedRanges.empty() ) maCachedRanges.Append(aRange); else maCachedRanges.Join(aRange); diff --git a/sc/source/ui/docshell/tablink.cxx b/sc/source/ui/docshell/tablink.cxx index 40b3678762fe..d7b8895e24ff 100644 --- a/sc/source/ui/docshell/tablink.cxx +++ b/sc/source/ui/docshell/tablink.cxx @@ -341,7 +341,7 @@ BOOL ScTableLink::Refresh(const String& rNewFile, const String& rNewFilter, pCell = aCellIter.GetNext(); } - ULONG nRanges = aErrorCells.Count(); + size_t nRanges = aErrorCells.size(); if ( nRanges ) // found any? { ScTokenArray aTokenArr; @@ -350,9 +350,9 @@ BOOL ScTableLink::Refresh(const String& rNewFile, const String& rNewFilter, aTokenArr.AddOpCode( ocClose ); aTokenArr.AddOpCode( ocStop ); - for (ULONG nPos=0; nPos<nRanges; nPos++) + for (size_t nPos=0; nPos < nRanges; nPos++) { - const ScRange* pRange = aErrorCells.GetObject(nPos); + const ScRange* pRange = aErrorCells[ nPos ]; SCCOL nStartCol = pRange->aStart.Col(); SCROW nStartRow = pRange->aStart.Row(); SCCOL nEndCol = pRange->aEnd.Col(); diff --git a/sc/source/ui/drawfunc/fuins2.cxx b/sc/source/ui/drawfunc/fuins2.cxx index c45ae623912d..c49ac8bd2b47 100644 --- a/sc/source/ui/drawfunc/fuins2.cxx +++ b/sc/source/ui/drawfunc/fuins2.cxx @@ -162,7 +162,7 @@ void lcl_ChartInit( const uno::Reference < embed::XEmbeddedObject >& xObj, ScVie // use ScChartPositioner to auto-detect column/row headers (like ScChartArray in old version) ScRangeListRef aRangeListRef( new ScRangeList ); aRangeListRef->Parse( aRangeString, pScDoc ); - if ( aRangeListRef->Count() ) + if ( !aRangeListRef->empty() ) { pScDoc->LimitChartIfAll( aRangeListRef ); // limit whole columns/rows to used area @@ -532,12 +532,13 @@ FuInsertChart::FuInsertChart(ScTabViewShell* pViewSh, Window* pWin, ScDrawView* aRangeString = aStr; // get "total" range for positioning - ULONG nCount = aRanges.Count(); - if ( nCount > 0 ) + if ( !aRanges.empty() ) { - aPositionRange = *aRanges.GetObject(0); - for (ULONG i=1; i<nCount; i++) - aPositionRange.ExtendTo( *aRanges.GetObject(i) ); + aPositionRange = *aRanges[ 0 ]; + for ( size_t i = 1, nCount = aRanges.size(); i < nCount; ++i ) + { + aPositionRange.ExtendTo( *aRanges[ i ] ); + } } if(bAutomaticMark) diff --git a/sc/source/ui/inc/rfindlst.hxx b/sc/source/ui/inc/rfindlst.hxx index 03867631aa24..7e6f08adc4f3 100644 --- a/sc/source/ui/inc/rfindlst.hxx +++ b/sc/source/ui/inc/rfindlst.hxx @@ -50,7 +50,7 @@ class ScRangeFindList { List aEntries; String aDocName; - BOOL bHidden; + bool bHidden; public: ScRangeFindList(const String& rName); @@ -64,9 +64,9 @@ public: void SetHidden( BOOL bSet ) { bHidden = bSet; } const String& GetDocName() const { return aDocName; } - BOOL IsHidden() const { return bHidden; } + bool IsHidden() const { return bHidden; } - static ColorData GetColorName( USHORT nIndex ); + static ColorData GetColorName( size_t nIndex ); }; diff --git a/sc/source/ui/miscdlgs/acredlin.cxx b/sc/source/ui/miscdlgs/acredlin.cxx index 768393dc7f46..9ef5973e8759 100644 --- a/sc/source/ui/miscdlgs/acredlin.cxx +++ b/sc/source/ui/miscdlgs/acredlin.cxx @@ -296,11 +296,11 @@ void __EXPORT ScAcceptChgDlg::Init() pTPFilter->CheckRange(aChangeViewSet.HasRange()); - ScRange* pRangeEntry=aChangeViewSet.GetTheRangeList().GetObject(0); aRangeList=aChangeViewSet.GetTheRangeList(); - if(pRangeEntry!=NULL) + if( !aChangeViewSet.GetTheRangeList().empty() ) { + ScRangePtr pRangeEntry = aChangeViewSet.GetTheRangeList().front(); String aRefStr; pRangeEntry->Format( aRefStr, ABS_DREF3D, pDoc ); pTPFilter->SetRange(aRefStr); @@ -394,17 +394,13 @@ BOOL ScAcceptChgDlg::IsValidAction(const ScChangeAction* pScChangeAction) { if(pTPFilter->IsRange()) { - ScRange* pRangeEntry=aRangeList.First(); - - while(pRangeEntry!=NULL) - { - if(pRangeEntry->Intersects(aRef)) break; - pRangeEntry=aRangeList.Next(); - } - - if(pRangeEntry!=NULL) + for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i ) { - bFlag=TRUE; + ScRangePtr pRangeEntry = aRangeList[ i ]; + if (pRangeEntry->Intersects(aRef)) { + bFlag = TRUE; + break; + } } } else @@ -520,18 +516,15 @@ SvLBoxEntry* ScAcceptChgDlg::InsertChangeAction(const ScChangeAction* pScChangeA { if(pTPFilter->IsRange()) { - ScRange* pRangeEntry=aRangeList.First(); - - while(pRangeEntry!=NULL) - { - if(pRangeEntry->Intersects(aRef)) break; - pRangeEntry=aRangeList.Next(); - } - //SC_CAS_VIRGIN,SC_CAS_ACCEPTED,SC_CAS_REJECTED - if(pRangeEntry!=NULL) + for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i ) { - bHasFilterEntry=TRUE; - bFlag=TRUE; + ScRangePtr pRangeEntry = aRangeList[ i ]; + if( pRangeEntry->Intersects(aRef) ) + { + bHasFilterEntry=TRUE; + bFlag=TRUE; + break; + } } } else if(!bIsGenerated) @@ -590,18 +583,15 @@ SvLBoxEntry* ScAcceptChgDlg::InsertFilteredAction(const ScChangeAction* pScChang { if(pTPFilter->IsRange()) { - ScRange* pRangeEntry=aRangeList.First(); - - while(pRangeEntry!=NULL) + for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i ) { - if(pRangeEntry->Intersects(aRef)) break; - pRangeEntry=aRangeList.Next(); - } - //SC_CAS_VIRGIN,SC_CAS_ACCEPTED,SC_CAS_REJECTED - if(pRangeEntry!=NULL && - pScChangeAction->GetState()==eState) - { - bFlag=TRUE; + ScRangePtr pRangeEntry=aRangeList[ i ]; + if( pRangeEntry->Intersects(aRef) ) + { + if( pScChangeAction->GetState()==eState ) + bFlag=TRUE; + break; + } } } else if(pScChangeAction->GetState()==eState && !bIsGenerated) @@ -719,17 +709,14 @@ SvLBoxEntry* ScAcceptChgDlg::InsertChangeActionContent(const ScChangeActionConte { if(pTPFilter->IsRange()) { - ScRange* pRangeEntry=aRangeList.First(); - - while(pRangeEntry!=NULL) + for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i ) { - if(pRangeEntry->Intersects(aRef)) break; - pRangeEntry=aRangeList.Next(); - } - //SC_CAS_VIRGIN,SC_CAS_ACCEPTED,SC_CAS_REJECTED - if(pRangeEntry!=NULL) - { - bFlag=TRUE; + ScRange* pRangeEntry = aRangeList[ i ]; + if( pRangeEntry->Intersects(aRef) ) + { + bFlag=TRUE; + break; + } } } else if(!bIsGenerated) @@ -1036,7 +1023,7 @@ IMPL_LINK( ScAcceptChgDlg, FilterHandle, SvxTPFilter*, pRef ) if(pRef!=NULL) { ClearView(); - aRangeList.Clear(); + aRangeList.clear(); aRangeList.Parse(pTPFilter->GetRange(),pDoc); UpdateView(); } diff --git a/sc/source/ui/miscdlgs/anyrefdg.cxx b/sc/source/ui/miscdlgs/anyrefdg.cxx index 5f2dea8b187a..7b0bd2ca0ca1 100644 --- a/sc/source/ui/miscdlgs/anyrefdg.cxx +++ b/sc/source/ui/miscdlgs/anyrefdg.cxx @@ -131,7 +131,7 @@ void ScFormulaReferenceHelper::enableInput( BOOL bEnable ) // ----------------------------------------------------------------------------- void ScFormulaReferenceHelper::ShowSimpleReference( const XubString& rStr ) { - if( /*!pRefEdit &&*/ bEnableColorRef ) + if( bEnableColorRef ) { bHighLightRef=TRUE; ScViewData* pViewData=ScDocShell::GetViewData(); @@ -147,16 +147,12 @@ void ScFormulaReferenceHelper::ShowSimpleReference( const XubString& rStr ) if( ParseWithNames( aRangeList, rStr, pDoc ) ) { - ScRange* pRangeEntry = aRangeList.First(); - - USHORT nIndex=0; - while(pRangeEntry != NULL) + for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i ) { - ColorData aColName = ScRangeFindList::GetColorName(nIndex++); - pTabViewShell->AddHighlightRange(*pRangeEntry, aColName); - - pRangeEntry = aRangeList.Next(); - } + ScRangePtr pRangeEntry = aRangeList[ i ]; + ColorData aColName = ScRangeFindList::GetColorName( i ); + pTabViewShell->AddHighlightRange( *pRangeEntry, aColName ); + } } } } @@ -165,7 +161,7 @@ void ScFormulaReferenceHelper::ShowSimpleReference( const XubString& rStr ) bool ScFormulaReferenceHelper::ParseWithNames( ScRangeList& rRanges, const String& rStr, ScDocument* pDoc ) { bool bError = false; - rRanges.RemoveAll(); + rRanges.clear(); ScAddress::Details aDetails(pDoc->GetAddressConvention(), 0, 0); ScRangeUtil aRangeUtil; @@ -317,9 +313,9 @@ void ScFormulaReferenceHelper::ReleaseFocus( formula::RefEdit* pEdit, formula::R ScRangeList aRangeList; if( ParseWithNames( aRangeList, pRefEdit->GetText(), pDoc ) ) { - const ScRange* pRange = aRangeList.GetObject( 0 ); - if( pRange ) + if ( !aRangeList.empty() ) { + const ScRangePtr pRange = aRangeList.front(); pViewShell->SetTabNo( pRange->aStart.Tab() ); pViewShell->MoveCursorAbs( pRange->aStart.Col(), pRange->aStart.Row(), SC_FOLLOW_JUMP, FALSE, FALSE ); diff --git a/sc/source/ui/miscdlgs/highred.cxx b/sc/source/ui/miscdlgs/highred.cxx index 0d6932be8f33..956e35e6aa53 100644 --- a/sc/source/ui/miscdlgs/highred.cxx +++ b/sc/source/ui/miscdlgs/highred.cxx @@ -162,12 +162,11 @@ void __EXPORT ScHighlightChgDlg::Init() } aFilterCtr.CheckRange(aChangeViewSet.HasRange()); - ScRange* pRangeEntry=aChangeViewSet.GetTheRangeList().GetObject(0); - - if(pRangeEntry!=NULL) + if ( !aChangeViewSet.GetTheRangeList().empty() ) { String aRefStr; + ScRangePtr pRangeEntry = aChangeViewSet.GetTheRangeList().front(); pRangeEntry->Format( aRefStr, ABS_DREF3D, pDoc ); aFilterCtr.SetRange(aRefStr); } diff --git a/sc/source/ui/miscdlgs/optsolver.cxx b/sc/source/ui/miscdlgs/optsolver.cxx index 1293363ec6ee..c4a4e5baac1d 100644 --- a/sc/source/ui/miscdlgs/optsolver.cxx +++ b/sc/source/ui/miscdlgs/optsolver.cxx @@ -841,10 +841,10 @@ bool ScOptSolverDlg::CallSolver() // return true -> close dialog after cal } uno::Sequence<table::CellAddress> aVariables; sal_Int32 nVarPos = 0; - ULONG nRangeCount = aVarRanges.Count(); - for (ULONG nRangePos=0; nRangePos<nRangeCount; ++nRangePos) + + for ( size_t nRangePos=0, nRange = aVarRanges.size(); nRangePos < nRange; ++nRangePos ) { - ScRange aRange(*aVarRanges.GetObject(nRangePos)); + ScRange aRange(*aVarRanges[ nRangePos ] ); aRange.Justify(); SCTAB nTab = aRange.aStart.Tab(); diff --git a/sc/source/ui/undo/undoblk.cxx b/sc/source/ui/undo/undoblk.cxx index eda49aa114c5..c9d7afe17f53 100644 --- a/sc/source/ui/undo/undoblk.cxx +++ b/sc/source/ui/undo/undoblk.cxx @@ -2175,26 +2175,18 @@ void ScUndoRemoveMerge::SetCurTab() ScRange lcl_TotalRange( const ScRangeList& rRanges ) { ScRange aTotal; - ULONG nCount = rRanges.Count(); - for (ULONG i=0; i<nCount; i++) + if ( !rRanges.empty() ) { - ScRange aRange = *rRanges.GetObject(i); - if (i==0) - aTotal = aRange; - else + aTotal = *rRanges[ 0 ]; + for ( size_t i = 1, nCount = rRanges.size(); i < nCount; ++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 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() ); } } return aTotal; @@ -2242,11 +2234,10 @@ void __EXPORT ScUndoBorder::Redo() BeginRedo(); ScDocument* pDoc = pDocShell->GetDocument(); //! Funktion an docfunc aufrufen - ULONG nCount = pRanges->Count(); - ULONG i; - for (i=0; i<nCount; i++) + size_t nCount = pRanges->size(); + for (size_t i = 0; i < nCount; ++i ) { - ScRange aRange = *pRanges->GetObject(i); + ScRange aRange = *pRanges->at( i ); SCTAB nTab = aRange.aStart.Tab(); ScMarkData aMark; @@ -2255,8 +2246,8 @@ void __EXPORT ScUndoBorder::Redo() pDoc->ApplySelectionFrame( aMark, pOuter, pInner ); } - for (i=0; i<nCount; i++) - pDocShell->PostPaint( *pRanges->GetObject(i), PAINT_GRID, SC_PF_LINES | SC_PF_TESTMERGE ); + for (size_t i = 0; i < nCount; ++i) + pDocShell->PostPaint( *pRanges->at( i ), PAINT_GRID, SC_PF_LINES | SC_PF_TESTMERGE ); EndRedo(); } diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx index f705e0ed249a..550b2f5351b4 100644 --- a/sc/source/ui/unoobj/cellsuno.cxx +++ b/sc/source/ui/unoobj/cellsuno.cxx @@ -878,8 +878,8 @@ void lcl_CopyProperties( beans::XPropertySet& rDest, beans::XPropertySet& rSourc SCTAB lcl_FirstTab( const ScRangeList& rRanges ) { - DBG_ASSERT(rRanges.Count() >= 1, "was fuer Ranges ?!?!"); - const ScRange* pFirst = rRanges.GetObject(0); + DBG_ASSERT(rRanges.size() >= 1, "was fuer Ranges ?!?!"); + const ScRange* pFirst = rRanges[ 0 ]; if (pFirst) return pFirst->aStart.Tab(); @@ -888,9 +888,9 @@ SCTAB lcl_FirstTab( const ScRangeList& rRanges ) BOOL lcl_WholeSheet( const ScRangeList& rRanges ) { - if ( rRanges.Count() == 1 ) + if ( rRanges.size() == 1 ) { - ScRange* pRange = rRanges.GetObject(0); + ScRange* pRange = rRanges[ 0 ]; if ( pRange && pRange->aStart.Col() == 0 && pRange->aEnd.Col() == MAXCOL && pRange->aStart.Row() == 0 && pRange->aEnd.Row() == MAXROW ) return TRUE; @@ -1031,11 +1031,10 @@ void ScHelperFunctions::ApplyBorder( ScDocShell* pDocShell, const ScRangeList& r ScDocument* pUndoDoc = NULL; if (bUndo) pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); - ULONG nCount = rRanges.Count(); - ULONG i; - for (i=0; i<nCount; i++) + size_t nCount = rRanges.size(); + for (size_t i = 0; i < nCount; ++i) { - ScRange aRange(*rRanges.GetObject(i)); + ScRange aRange( *rRanges[ i ] ); SCTAB nTab = aRange.aStart.Tab(); if (bUndo) @@ -1061,8 +1060,8 @@ void ScHelperFunctions::ApplyBorder( ScDocShell* pDocShell, const ScRangeList& r new ScUndoBorder( pDocShell, rRanges, pUndoDoc, rOuter, rInner ) ); } - for (i=0; i<nCount; i++) - pDocShell->PostPaint( *rRanges.GetObject(i), PAINT_GRID, SC_PF_LINES | SC_PF_TESTMERGE ); + for (size_t i = 0; i < nCount; ++i ) + pDocShell->PostPaint( *rRanges[ i ], PAINT_GRID, SC_PF_LINES | SC_PF_TESTMERGE ); pDocShell->SetDocumentModified(); } @@ -1509,12 +1508,13 @@ void ScCellRangesBase::Notify( SfxBroadcaster&, const SfxHint& rHint ) if ( aRanges.UpdateReference( rRef.GetMode(), pDoc, rRef.GetRange(), rRef.GetDx(), rRef.GetDy(), rRef.GetDz() ) ) { - if (rRef.GetMode() == URM_INSDEL && - aRanges.Count() == 1 && - ScTableSheetObj::getImplementation( (cppu::OWeakObject*)this )) + if ( rRef.GetMode() == URM_INSDEL + && aRanges.size() == 1 + && ScTableSheetObj::getImplementation( (cppu::OWeakObject*)this ) + ) { // #101755#; the range size of a sheet does not change - ScRange* pR = aRanges.First(); + ScRange* pR = aRanges.front(); if (pR) { pR->aStart.SetCol(0); @@ -1619,9 +1619,8 @@ void ScCellRangesBase::RefChanged() pValueListener->EndListeningAll(); ScDocument* pDoc = pDocShell->GetDocument(); - ULONG nCount = aRanges.Count(); - for (ULONG i=0; i<nCount; i++) - pDoc->StartListeningArea( *aRanges.GetObject(i), pValueListener ); + for ( size_t i = 0, nCount = aRanges.size(); i < nCount; ++i ) + pDoc->StartListeningArea( *aRanges[ i ], pValueListener ); } ForgetCurrentAttrs(); @@ -1644,7 +1643,7 @@ void ScCellRangesBase::InitInsertRange(ScDocShell* pDocSh, const ScRange& rR) ScRange aCellRange(rR); aCellRange.Justify(); - aRanges.RemoveAll(); + aRanges.clear(); aRanges.Append( aCellRange ); pDocShell->GetDocument()->AddUnoObject(*this); @@ -1667,7 +1666,7 @@ void ScCellRangesBase::SetNewRange(const ScRange& rNew) ScRange aCellRange(rNew); aCellRange.Justify(); - aRanges.RemoveAll(); + aRanges.clear(); aRanges.Append( aCellRange ); RefChanged(); } @@ -1759,9 +1758,8 @@ uno::Sequence<sal_Int8> SAL_CALL ScCellRangesBase::getImplementationId() void ScCellRangesBase::PaintRanges_Impl( USHORT nPart ) { - ULONG nCount = aRanges.Count(); - for (ULONG i=0; i<nCount; i++) - pDocShell->PostPaint( *aRanges.GetObject(i), nPart ); + for (size_t i = 0, nCount = aRanges.size(); i < nCount; ++i) + pDocShell->PostPaint( *aRanges[ i ], nPart ); } // XSheetOperation @@ -1790,7 +1788,7 @@ double SAL_CALL ScCellRangesBase::computeFunction( sheet::GeneralFunction nFunct void SAL_CALL ScCellRangesBase::clearContents( sal_Int32 nContentFlags ) throw(uno::RuntimeException) { SolarMutexGuard aGuard; - if ( aRanges.Count() ) + if ( !aRanges.empty() ) { // only for clearContents: EDITATTR is only used if no contents are deleted USHORT nDelFlags = static_cast< USHORT >( nContentFlags & IDF_ALL ); @@ -1897,7 +1895,7 @@ beans::PropertyState SAL_CALL ScCellRangesBase::getPropertyState( const rtl::OUS throw(beans::UnknownPropertyException, uno::RuntimeException) { SolarMutexGuard aGuard; - if ( aRanges.Count() == 0 ) + if ( aRanges.empty() ) throw uno::RuntimeException(); const SfxItemPropertyMap* pMap = GetItemPropertyMap(); // from derived class @@ -1939,7 +1937,7 @@ void SAL_CALL ScCellRangesBase::setPropertyToDefault( const rtl::OUString& aProp lcl_GetPropertyWhich( pEntry, nItemWhich ); if ( nItemWhich ) // item wid (from map or special case) { - if ( aRanges.Count() ) // leer = nichts zu tun + if ( !aRanges.empty() ) // leer = nichts zu tun { ScDocFunc aFunc(*pDocShell); @@ -2206,7 +2204,7 @@ void SAL_CALL ScCellRangesBase::setPropertyValue( { SolarMutexGuard aGuard; - if ( !pDocShell || aRanges.Count() == 0 ) + if ( !pDocShell || aRanges.empty() ) throw uno::RuntimeException(); const SfxItemPropertyMap* pPropertyMap = GetItemPropertyMap(); // from derived class @@ -2224,7 +2222,7 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE { if ( IsScItemWid( pEntry->nWID ) ) { - if ( aRanges.Count() ) // leer = nichts zu tun + if ( !aRanges.empty() ) // leer = nichts zu tun { ScDocument* pDoc = pDocShell->GetDocument(); ScDocFunc aFunc(*pDocShell); @@ -2259,10 +2257,10 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE aValue >>= nValue; if( nValue ) { - int n = aRanges.Count(); - for(int i=0; i<n; i++ ) + size_t n = aRanges.size(); + for( size_t i = 0; i < n; i++ ) { - ScRange aRange( *aRanges.GetObject(i) ); + ScRange aRange( *aRanges[ i ] ); /* TODO: Iterate through the range */ ScAddress aAddr = aRange.aStart; ScDocument *pDoc = pDocShell->GetDocument(); @@ -2282,7 +2280,7 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE else // Superscript aAttr.Put( SvxEscapementItem( SVX_ESCAPEMENT_SUPERSCRIPT, EE_CHAR_ESCAPEMENT ) ); aEngine.QuickSetAttribs( aAttr, ESelection( 0, 0, 0, aStr.Len())); - pDoc->PutCell( (aRanges.GetObject(0))->aStart, new ScEditCell( aEngine.CreateTextObject(), pDoc, NULL ) ); + pDoc->PutCell( (aRanges[ 0 ])->aStart, new ScEditCell( aEngine.CreateTextObject(), pDoc, NULL ) ); } } } @@ -2307,7 +2305,7 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE case SC_WID_UNO_TBLBORD: { table::TableBorder aBorder; - if ( aRanges.Count() && ( aValue >>= aBorder ) ) // empty = nothing to do + if ( !aRanges.empty() && ( aValue >>= aBorder ) ) // empty = nothing to do { SvxBoxItem aOuter(ATTR_BORDER); SvxBoxInfoItem aInner(ATTR_BORDER_INNER); @@ -2322,7 +2320,7 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE case SC_WID_UNO_CONDXML: { uno::Reference<sheet::XSheetConditionalEntries> xInterface(aValue, uno::UNO_QUERY); - if ( aRanges.Count() && xInterface.is() ) // leer = nichts zu tun + if ( !aRanges.empty() && xInterface.is() ) // leer = nichts zu tun { ScTableConditionalFormat* pFormat = ScTableConditionalFormat::getImplementation( xInterface ); @@ -2353,7 +2351,7 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE case SC_WID_UNO_VALIXML: { uno::Reference<beans::XPropertySet> xInterface(aValue, uno::UNO_QUERY); - if ( aRanges.Count() && xInterface.is() ) // leer = nichts zu tun + if ( !aRanges.empty() && xInterface.is() ) // leer = nichts zu tun { ScTableValidationObj* pValidObj = ScTableValidationObj::getImplementation( xInterface ); @@ -2391,7 +2389,7 @@ uno::Any SAL_CALL ScCellRangesBase::getPropertyValue( const rtl::OUString& aProp { SolarMutexGuard aGuard; - if ( !pDocShell || aRanges.Count() == 0 ) + if ( !pDocShell || aRanges.empty() ) throw uno::RuntimeException(); const SfxItemPropertyMap* pPropertyMap = GetItemPropertyMap(); // from derived class @@ -2468,9 +2466,9 @@ void ScCellRangesBase::GetOnePropertyValue( const SfxItemPropertySimpleEntry* pE case SC_WID_UNO_TBLBORD: { //! loop throgh all ranges - const ScRange* pFirst = aRanges.GetObject(0); - if (pFirst) + if ( !aRanges.empty() ) { + const ScRange* pFirst = aRanges[ 0 ]; SvxBoxItem aOuter(ATTR_BORDER); SvxBoxInfoItem aInner(ATTR_BORDER_INNER); @@ -2548,7 +2546,7 @@ void SAL_CALL ScCellRangesBase::addPropertyChangeListener( const rtl::OUString& lang::WrappedTargetException, uno::RuntimeException) { SolarMutexGuard aGuard; - if ( aRanges.Count() == 0 ) + if ( aRanges.empty() ) throw uno::RuntimeException(); DBG_ERROR("not implemented"); @@ -2560,7 +2558,7 @@ void SAL_CALL ScCellRangesBase::removePropertyChangeListener( const rtl::OUStrin lang::WrappedTargetException, uno::RuntimeException) { SolarMutexGuard aGuard; - if ( aRanges.Count() == 0 ) + if ( aRanges.empty() ) throw uno::RuntimeException(); DBG_ERROR("not implemented"); @@ -2669,7 +2667,7 @@ void SAL_CALL ScCellRangesBase::setPropertyValues( const uno::Sequence< rtl::OUS } } - if ( pNewPattern && aRanges.Count() ) + if ( pNewPattern && !aRanges.empty() ) { ScDocFunc aFunc(*pDocShell); aFunc.ApplyAttributes( *GetMarkData(), *pNewPattern, TRUE, TRUE ); @@ -2844,7 +2842,7 @@ uno::Sequence< beans::SetPropertyTolerantFailed > SAL_CALL ScCellRangesBase::set } } - if ( pNewPattern && aRanges.Count() ) + if ( pNewPattern && !aRanges.empty() ) { ScDocFunc aFunc(*pDocShell); aFunc.ApplyAttributes( *GetMarkData(), *pNewPattern, TRUE, TRUE ); @@ -2934,7 +2932,7 @@ uno::Sequence< beans::GetDirectPropertyTolerantResult > SAL_CALL ScCellRangesBas void SAL_CALL ScCellRangesBase::decrementIndent() throw(::com::sun::star::uno::RuntimeException) { SolarMutexGuard aGuard; - if ( pDocShell && aRanges.Count() ) // leer = nichts zu tun + if ( pDocShell && !aRanges.empty() ) // leer = nichts zu tun { ScDocFunc aFunc(*pDocShell); //#97041#; put only MultiMarked ScMarkData in ChangeIndent @@ -2947,7 +2945,7 @@ void SAL_CALL ScCellRangesBase::decrementIndent() throw(::com::sun::star::uno::R void SAL_CALL ScCellRangesBase::incrementIndent() throw(::com::sun::star::uno::RuntimeException) { SolarMutexGuard aGuard; - if ( pDocShell && aRanges.Count() ) // leer = nichts zu tun + if ( pDocShell && !aRanges.empty() ) // leer = nichts zu tun { ScDocFunc aFunc(*pDocShell); //#97041#; put only MultiMarked ScMarkData in ChangeIndent @@ -2961,16 +2959,16 @@ void SAL_CALL ScCellRangesBase::incrementIndent() throw(::com::sun::star::uno::R ScMemChart* ScCellRangesBase::CreateMemChart_Impl() const { - if ( pDocShell && aRanges.Count() ) + if ( pDocShell && !aRanges.empty() ) { ScRangeListRef xChartRanges; - if ( aRanges.Count() == 1 ) + if ( aRanges.size() == 1 ) { // ganze Tabelle sinnvoll begrenzen (auf belegten Datenbereich) // (nur hier, Listener werden auf den ganzen Bereich angemeldet) //! direkt testen, ob es ein ScTableSheetObj ist? - ScRange* pRange = aRanges.GetObject(0); + ScRange* pRange = aRanges[ 0 ]; if ( pRange->aStart.Col() == 0 && pRange->aEnd.Col() == MAXCOL && pRange->aStart.Row() == 0 && pRange->aEnd.Row() == MAXROW ) { @@ -3039,9 +3037,9 @@ uno::Sequence< uno::Sequence<double> > SAL_CALL ScCellRangesBase::getData() ScRangeListRef ScCellRangesBase::GetLimitedChartRanges_Impl( long nDataColumns, long nDataRows ) const { - if ( aRanges.Count() == 1 ) + if ( aRanges.size() == 1 ) { - ScRange* pRange = aRanges.GetObject(0); + ScRange* pRange = aRanges[ 0 ]; if ( pRange->aStart.Col() == 0 && pRange->aEnd.Col() == MAXCOL && pRange->aStart.Row() == 0 && pRange->aEnd.Row() == MAXROW ) { @@ -3308,7 +3306,7 @@ void SAL_CALL ScCellRangesBase::addChartDataChangeEventListener( const uno::Refe throw(uno::RuntimeException) { SolarMutexGuard aGuard; - if ( pDocShell && aRanges.Count() ) + if ( pDocShell && !aRanges.empty() ) { //! auf doppelte testen? @@ -3329,7 +3327,7 @@ void SAL_CALL ScCellRangesBase::removeChartDataChangeEventListener( const uno::R throw(uno::RuntimeException) { SolarMutexGuard aGuard; - if ( pDocShell && aRanges.Count() ) + if ( pDocShell && !aRanges.empty() ) { ScDocument* pDoc = pDocShell->GetDocument(); ScChartListenerCollection* pColl = pDoc->GetChartListenerCollection(); @@ -3355,7 +3353,7 @@ void SAL_CALL ScCellRangesBase::addModifyListener( const uno::Reference<util::XM throw(uno::RuntimeException) { SolarMutexGuard aGuard; - if ( aRanges.Count() == 0 ) + if ( aRanges.empty() ) throw uno::RuntimeException(); uno::Reference<util::XModifyListener> *pObj = @@ -3368,9 +3366,8 @@ void SAL_CALL ScCellRangesBase::addModifyListener( const uno::Reference<util::XM pValueListener = new ScLinkListener( LINK( this, ScCellRangesBase, ValueListenerHdl ) ); ScDocument* pDoc = pDocShell->GetDocument(); - ULONG nCount = aRanges.Count(); - for (ULONG i=0; i<nCount; i++) - pDoc->StartListeningArea( *aRanges.GetObject(i), pValueListener ); + for ( size_t i = 0, nCount = aRanges.size(); i < nCount; i++) + pDoc->StartListeningArea( *aRanges[ i ], pValueListener ); acquire(); // don't lose this object (one ref for all listeners) } @@ -3381,7 +3378,7 @@ void SAL_CALL ScCellRangesBase::removeModifyListener( const uno::Reference<util: { SolarMutexGuard aGuard; - if ( aRanges.Count() == 0 ) + if ( aRanges.empty() ) throw uno::RuntimeException(); acquire(); // in case the listeners have the last ref - released below @@ -3462,10 +3459,9 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryEmptyCel ScMarkData aMarkData(*GetMarkData()); // belegte Zellen wegmarkieren - ULONG nCount = aRanges.Count(); - for (ULONG i=0; i<nCount; i++) + for (size_t i = 0, nCount = aRanges.size(); i < nCount; ++i) { - ScRange aRange = *aRanges.GetObject(i); + ScRange aRange = *aRanges[ i ]; ScCellIterator aIter( pDoc, aRange ); ScBaseCell* pCell = aIter.GetFirst(); @@ -3504,10 +3500,9 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryContentC ScMarkData aMarkData; // passende Zellen selektieren - ULONG nCount = aRanges.Count(); - for (ULONG i=0; i<nCount; i++) + for ( size_t i = 0, nCount = aRanges.size(); i < nCount; ++i ) { - ScRange aRange = *aRanges.GetObject(i); + ScRange aRange = *aRanges[ i ]; ScCellIterator aIter( pDoc, aRange ); ScBaseCell* pCell = aIter.GetFirst(); @@ -3593,10 +3588,9 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryFormulaC ScMarkData aMarkData; // passende Zellen selektieren - ULONG nCount = aRanges.Count(); - for (ULONG i=0; i<nCount; i++) + for ( size_t i = 0, nCount = aRanges.size(); i < nCount; ++i ) { - ScRange aRange = *aRanges.GetObject(i); + ScRange aRange = *aRanges[ i ]; ScCellIterator aIter( pDoc, aRange ); ScBaseCell* pCell = aIter.GetFirst(); @@ -3647,8 +3641,8 @@ uno::Reference<sheet::XSheetCellRanges> ScCellRangesBase::QueryDifferences_Impl( { if (pDocShell) { - ULONG nRangeCount = aRanges.Count(); - ULONG i; + size_t nRangeCount = aRanges.size(); + size_t i; ScDocument* pDoc = pDocShell->GetDocument(); ScMarkData aMarkData; @@ -3678,7 +3672,7 @@ uno::Reference<sheet::XSheetCellRanges> ScCellRangesBase::QueryDifferences_Impl( for (i=0; i<nRangeCount; i++) { - ScRange aRange(*aRanges.GetObject(i)); + ScRange aRange( *aRanges[ i ] ); if ( aRange.Intersects( aCellRange ) ) { if (bColumnDiff) @@ -3704,7 +3698,7 @@ uno::Reference<sheet::XSheetCellRanges> ScCellRangesBase::QueryDifferences_Impl( ScAddress aCmpAddr; for (i=0; i<nRangeCount; i++) { - ScRange aRange(*aRanges.GetObject(i)); + ScRange aRange( *aRanges[ i ] ); ScCellIterator aIter( pDoc, aRange ); ScBaseCell* pCell = aIter.GetFirst(); @@ -3757,10 +3751,9 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryIntersec (SCCOL)aRange.EndColumn, (SCROW)aRange.EndRow, aRange.Sheet ); ScRangeList aNew; - ULONG nCount = aRanges.Count(); - for (ULONG i=0; i<nCount; i++) + for ( size_t i = 0, nCount = aRanges.size(); i < nCount; ++i ) { - ScRange aTemp(*aRanges.GetObject(i)); + ScRange aTemp( *aRanges[ i ] ); if ( aTemp.Intersects( aMask ) ) aNew.Join( ScRange( Max( aTemp.aStart.Col(), aMask.aStart.Col() ), Max( aTemp.aStart.Row(), aMask.aStart.Row() ), @@ -3794,10 +3787,9 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryPreceden aMarkData.MarkFromRangeList( aNewRanges, FALSE ); aMarkData.MarkToMulti(); // needed for IsAllMarked - ULONG nCount = aNewRanges.Count(); - for (ULONG nR=0; nR<nCount; nR++) + for (size_t nR = 0, nCount = aNewRanges.size(); nR<nCount; ++nR) { - ScRange aRange(*aNewRanges.GetObject(nR)); + ScRange aRange( *aNewRanges[ nR] ); ScCellIterator aIter( pDoc, aRange ); ScBaseCell* pCell = aIter.GetFirst(); while (pCell) @@ -3842,7 +3834,6 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryDependen do { bFound = FALSE; - ULONG nRangesCount = aNewRanges.Count(); // #97205# aMarkData uses aNewRanges, not aRanges, so GetMarkData can't be used ScMarkData aMarkData; @@ -3862,9 +3853,10 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryDependen ScRange aRefRange; while ( aIter.GetNextRef( aRefRange) ) { - for (ULONG nR=0; nR<nRangesCount; nR++) + size_t nRangesCount = aNewRanges.size(); + for (size_t nR = 0; nR < nRangesCount; ++nR) { - ScRange aRange(*aNewRanges.GetObject(nR)); + ScRange aRange( *aNewRanges[ nR ] ); if (aRange.Intersects(aRefRange)) bMark = TRUE; // von Teil des Ranges abhaengig } @@ -4006,9 +3998,9 @@ uno::Reference<uno::XInterface> SAL_CALL ScCellRangesBase::findNext( if ( pRangesImp && pRangesImp->GetDocShell() == pDocShell ) { const ScRangeList& rStartRanges = pRangesImp->GetRangeList(); - if ( rStartRanges.Count() == 1 ) + if ( rStartRanges.size() == 1 ) { - ScAddress aStartPos = rStartRanges.GetObject(0)->aStart; + ScAddress aStartPos = rStartRanges[ 0 ]->aStart; return Find_Impl( xDesc, &aStartPos ); } } @@ -4226,9 +4218,9 @@ ScCellRangeObj* ScCellRangesObj::GetObjectByIndex_Impl(sal_Int32 nIndex) const { ScDocShell* pDocSh = GetDocShell(); const ScRangeList& rRanges = GetRangeList(); - if ( pDocSh && nIndex >= 0 && nIndex < sal::static_int_cast<sal_Int32>(rRanges.Count()) ) + if ( pDocSh && nIndex >= 0 && nIndex < sal::static_int_cast<sal_Int32>(rRanges.size()) ) { - ScRange aRange(*rRanges.GetObject(nIndex)); + ScRange aRange( *rRanges[ nIndex ] ); if ( aRange.aStart == aRange.aEnd ) return new ScCellObj( pDocSh, aRange.aStart ); else @@ -4244,15 +4236,15 @@ uno::Sequence<table::CellRangeAddress> SAL_CALL ScCellRangesObj::getRangeAddress SolarMutexGuard aGuard; ScDocShell* pDocSh = GetDocShell(); const ScRangeList& rRanges = GetRangeList(); - ULONG nCount = rRanges.Count(); + size_t nCount = rRanges.size(); if ( pDocSh && nCount ) { table::CellRangeAddress aRangeAddress; uno::Sequence<table::CellRangeAddress> aSeq(nCount); table::CellRangeAddress* pAry = aSeq.getArray(); - for (sal_uInt32 i=0; i<nCount; i++) + for ( size_t i=0; i < nCount; i++) { - ScUnoConversion::FillApiRange( aRangeAddress, *rRanges.GetObject(i) ); + ScUnoConversion::FillApiRange( aRangeAddress, *rRanges[ i ] ); pAry[i] = aRangeAddress; } return aSeq; @@ -4323,15 +4315,15 @@ void SAL_CALL ScCellRangesObj::removeRangeAddress( const table::CellRangeAddress ScRangeList aSheetRanges; ScRangeList aNotSheetRanges; - for (sal_uInt32 i = 0; i < rRanges.Count(); ++i) + for (size_t i = 0; i < rRanges.size(); ++i) { - if (rRanges.GetObject(i)->aStart.Tab() == rRange.Sheet) + if (rRanges[ i]->aStart.Tab() == rRange.Sheet) { - aSheetRanges.Append(*rRanges.GetObject(i)); + aSheetRanges.Append( *rRanges[ i ] ); } else { - aNotSheetRanges.Append(*rRanges.GetObject(i)); + aNotSheetRanges.Append( *rRanges[ i ] ); } } ScMarkData aMarkData; @@ -4356,9 +4348,9 @@ void SAL_CALL ScCellRangesObj::removeRangeAddress( const table::CellRangeAddress SetNewRanges(aNotSheetRanges); ScRangeList aNew; aMarkData.FillRangeListWithMarks( &aNew, FALSE ); - for (sal_uInt32 j = 0; j < aNew.Count(); ++j) + for ( size_t j = 0; j < aNew.size(); ++j) { - AddRange(*aNew.GetObject(j), sal_False); + AddRange(*aNew[ j ], sal_False); } } @@ -4442,9 +4434,9 @@ void SAL_CALL ScCellRangesObj::insertByName( const rtl::OUString& aName, const u ScRangeList aNew(GetRangeList()); const ScRangeList& rAddRanges = pRangesImp->GetRangeList(); - ULONG nAddCount = rAddRanges.Count(); - for (ULONG i=0; i<nAddCount; i++) - aNew.Join( *rAddRanges.GetObject(i) ); + size_t nAddCount = rAddRanges.size(); + for ( size_t i = 0; i < nAddCount; i++ ) + aNew.Join( *rAddRanges[ i ] ); SetNewRanges(aNew); bDone = TRUE; @@ -4454,7 +4446,7 @@ void SAL_CALL ScCellRangesObj::insertByName( const rtl::OUString& aName, const u // (only possible for a single range) // name is not in aNamedEntries (tested above) - ScNamedEntry* pEntry = new ScNamedEntry( aNamStr, *rAddRanges.GetObject(0) ); + ScNamedEntry* pEntry = new ScNamedEntry( aNamStr, *rAddRanges[ 0 ] ); aNamedEntries.Insert( pEntry, aNamedEntries.Count() ); } } @@ -4474,10 +4466,9 @@ BOOL lcl_FindRangeByName( const ScRangeList& rRanges, ScDocShell* pDocSh, { String aRangeStr; ScDocument* pDoc = pDocSh->GetDocument(); - ULONG nCount = rRanges.Count(); - for (ULONG i=0; i<nCount; i++) + for ( size_t i = 0, nCount = rRanges.size(); i < nCount; i++ ) { - rRanges.GetObject(i)->Format( aRangeStr, SCA_VALID | SCA_TAB_3D, pDoc ); + rRanges[ i ]->Format( aRangeStr, SCA_VALID | SCA_TAB_3D, pDoc ); if ( aRangeStr == rName ) { rIndex = i; @@ -4494,10 +4485,10 @@ BOOL lcl_FindRangeOrEntry( const ScNamedEntryArr_Impl& rNamedEntries, { // exact range in list? - ULONG nIndex = 0; + size_t nIndex = 0; if ( lcl_FindRangeByName( rRanges, pDocSh, rName, nIndex ) ) { - rFound = *rRanges.GetObject(nIndex); + rFound = *rRanges[ nIndex ]; return TRUE; } @@ -4555,10 +4546,9 @@ void SAL_CALL ScCellRangesObj::removeByName( const rtl::OUString& aName ) { // einzelnen Range weglassen ScRangeList aNew; - ULONG nCount = rRanges.Count(); - for (ULONG i=0; i<nCount; i++) + for ( size_t i = 0, nCount = rRanges.size(); i < nCount; i++ ) if (i != nIndex) - aNew.Append( *rRanges.GetObject(i) ); + aNew.Append( *rRanges[ i ] ); SetNewRanges(aNew); bDone = TRUE; } @@ -4573,7 +4563,7 @@ void SAL_CALL ScCellRangesObj::removeByName( const rtl::OUString& aName ) for (USHORT n=0; n<nCount && !bValid; n++) if (aNamedEntries[n]->GetName() == aNameStr) { - aDiff.RemoveAll(); + aDiff.clear(); aDiff.Append( aNamedEntries[n]->GetRange() ); bValid = TRUE; } @@ -4583,10 +4573,9 @@ void SAL_CALL ScCellRangesObj::removeByName( const rtl::OUString& aName ) ScMarkData aMarkData; aMarkData.MarkFromRangeList( rRanges, FALSE ); - ULONG nDiffCount = aDiff.Count(); - for (ULONG i=0; i<nDiffCount; i++) + for ( size_t i = 0, nDiffCount = aDiff.size(); i < nDiffCount; i++ ) { - ScRange* pDiffRange = aDiff.GetObject(i); + ScRange* pDiffRange = aDiff[ i ]; if (aMarkData.GetTableSelect( pDiffRange->aStart.Tab() )) aMarkData.SetMultiMarkArea( *pDiffRange, FALSE ); } @@ -4669,14 +4658,14 @@ uno::Sequence<rtl::OUString> SAL_CALL ScCellRangesObj::getElementNames() { String aRangeStr; ScDocument* pDoc = pDocSh->GetDocument(); - ULONG nCount = rRanges.Count(); + size_t nCount = rRanges.size(); uno::Sequence<rtl::OUString> aSeq(nCount); rtl::OUString* pAry = aSeq.getArray(); - for (ULONG i=0; i<nCount; i++) + for (size_t i=0; i < nCount; i++) { // use given name if for exactly this range, otherwise just format - ScRange aRange = *rRanges.GetObject(i); + ScRange aRange = *rRanges[ i ]; if ( !aNamedEntries.Count() || !lcl_FindEntryName( aNamedEntries, aRange, aRangeStr ) ) aRange.Format( aRangeStr, SCA_VALID | SCA_TAB_3D, pDoc ); pAry[i] = aRangeStr; @@ -4712,7 +4701,7 @@ sal_Int32 SAL_CALL ScCellRangesObj::getCount() throw(uno::RuntimeException) { SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); - return rRanges.Count(); + return rRanges.size(); } uno::Any SAL_CALL ScCellRangesObj::getByIndex( sal_Int32 nIndex ) @@ -4725,7 +4714,6 @@ uno::Any SAL_CALL ScCellRangesObj::getByIndex( sal_Int32 nIndex ) return uno::makeAny(xRange); else throw lang::IndexOutOfBoundsException(); -// return uno::Any(); } uno::Type SAL_CALL ScCellRangesObj::getElementType() throw(uno::RuntimeException) @@ -4738,7 +4726,7 @@ sal_Bool SAL_CALL ScCellRangesObj::hasElements() throw(uno::RuntimeException) { SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); - return rRanges.Count() != 0; + return !rRanges.empty(); } // XServiceInfo @@ -4800,10 +4788,10 @@ void ScCellRangeObj::RefChanged() ScCellRangesBase::RefChanged(); const ScRangeList& rRanges = GetRangeList(); - DBG_ASSERT(rRanges.Count() == 1, "was fuer Ranges ?!?!"); - const ScRange* pFirst = rRanges.GetObject(0); - if (pFirst) + DBG_ASSERT(rRanges.size() == 1, "was fuer Ranges ?!?!"); + if ( !rRanges.empty() ) { + const ScRangePtr pFirst = rRanges[ 0 ]; aRange = *pFirst; aRange.Justify(); } @@ -6133,10 +6121,12 @@ void ScCellObj::RefChanged() ScCellRangeObj::RefChanged(); const ScRangeList& rRanges = GetRangeList(); - DBG_ASSERT(rRanges.Count() == 1, "was fuer Ranges ?!?!"); - const ScRange* pFirst = rRanges.GetObject(0); - if (pFirst) + DBG_ASSERT(rRanges.size() == 1, "was fuer Ranges ?!?!"); + if ( !rRanges.empty() ) + { + const ScRange* pFirst = rRanges[ 0 ]; aCellPos = pFirst->aStart; + } } uno::Any SAL_CALL ScCellObj::queryInterface( const uno::Type& rType ) throw(uno::RuntimeException) @@ -6954,11 +6944,12 @@ uno::Sequence<sal_Int8> SAL_CALL ScTableSheetObj::getImplementationId() throw(un SCTAB ScTableSheetObj::GetTab_Impl() const { const ScRangeList& rRanges = GetRangeList(); - DBG_ASSERT(rRanges.Count() == 1, "was fuer Ranges ?!?!"); - const ScRange* pFirst = rRanges.GetObject(0); - if (pFirst) + DBG_ASSERT(rRanges.size() == 1, "was fuer Ranges ?!?!"); + if ( !rRanges.empty() ) + { + const ScRange* pFirst = rRanges[ 0 ]; return pFirst->aStart.Tab(); - + } return 0; // soll nicht sein } @@ -7046,7 +7037,7 @@ uno::Reference<sheet::XSheetCellCursor> SAL_CALL ScTableSheetObj::createCursorBy { const ScRangeList& rRanges = pRangesImp->GetRangeList(); DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" ); - return new ScCellCursorObj( pDocSh, *rRanges.GetObject(0) ); + return new ScCellCursorObj( pDocSh, *rRanges[ 0 ] ); } } return NULL; @@ -8144,12 +8135,12 @@ uno::Sequence< table::CellRangeAddress > SAL_CALL ScTableSheetObj::getRanges( ) const ScRangeList* pRangeList = pDoc->GetScenarioRanges(nTab); if (pRangeList) { - sal_Int32 nCount = pRangeList->Count(); - uno::Sequence< table::CellRangeAddress > aRetRanges(nCount); + size_t nCount = pRangeList->size(); + uno::Sequence< table::CellRangeAddress > aRetRanges( nCount ); table::CellRangeAddress* pAry = aRetRanges.getArray(); - for( sal_Int32 nIndex = 0; nIndex < nCount; nIndex++ ) + for( size_t nIndex = 0; nIndex < nCount; nIndex++ ) { - const ScRange* pRange = pRangeList->GetObject( nIndex ); + const ScRange* pRange = pRangeList->at( nIndex ); pAry->StartColumn = pRange->aStart.Col(); pAry->StartRow = pRange->aStart.Row(); pAry->EndColumn = pRange->aEnd.Col(); @@ -9205,12 +9196,12 @@ ScCellsEnumeration::ScCellsEnumeration(ScDocShell* pDocSh, const ScRangeList& rR ScDocument* pDoc = pDocShell->GetDocument(); pDoc->AddUnoObject(*this); - if ( aRanges.Count() == 0 ) + if ( aRanges.empty() ) bAtEnd = TRUE; else { SCTAB nTab = 0; - const ScRange* pFirst = aRanges.GetObject(0); + const ScRange* pFirst = aRanges[ 0 ]; if (pFirst) nTab = pFirst->aStart.Tab(); aPos = ScAddress(0,0,nTab); @@ -9286,9 +9277,9 @@ void ScCellsEnumeration::Notify( SfxBroadcaster&, const SfxHint& rHint ) aNew.Append(ScRange(aPos)); aNew.UpdateReference( rRef.GetMode(), pDocShell->GetDocument(), rRef.GetRange(), rRef.GetDx(), rRef.GetDy(), rRef.GetDz() ); - if (aNew.Count()==1) + if (aNew.size()==1) { - aPos = aNew.GetObject(0)->aStart; + aPos = aNew[ 0 ]->aStart; CheckPos_Impl(); } } @@ -9732,10 +9723,10 @@ struct ScUniqueFormatsOrder bool operator()( const ScRangeList& rList1, const ScRangeList& rList2 ) const { // all range lists have at least one entry - DBG_ASSERT( rList1.Count() > 0 && rList2.Count() > 0, "ScUniqueFormatsOrder: empty list" ); + DBG_ASSERT( rList1.size() > 0 && rList2.size() > 0, "ScUniqueFormatsOrder: empty list" ); // compare start positions using ScAddress comparison operator - return ( rList1.GetObject(0)->aStart < rList2.GetObject(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 de08f9671f3f..da3f2236befb 100644 --- a/sc/source/ui/unoobj/chart2uno.cxx +++ b/sc/source/ui/unoobj/chart2uno.cxx @@ -1996,12 +1996,6 @@ uno::Reference< sheet::XRangeSelection > SAL_CALL ScChart2DataProvider::getRange return xResult; } -/*uno::Reference< util::XNumberFormatsSupplier > SAL_CALL ScChart2DataProvider::getNumberFormatsSupplier() - throw (uno::RuntimeException) -{ - return uno::Reference< util::XNumberFormatsSupplier >( lcl_GetXModel( m_pDocument ), uno::UNO_QUERY ); -}*/ - // XRangeXMLConversion --------------------------------------------------- rtl::OUString SAL_CALL ScChart2DataProvider::convertRangeToXML( const rtl::OUString& sRangeRepresentation ) @@ -2200,74 +2194,6 @@ ScChart2DataSource::getDataSequences() throw ( uno::RuntimeException) } return aRet; - -/* typedef ::std::vector< uno::Reference< chart2::data::XLabeledDataSequence > > tVec; - tVec aVec; - bool bSeries = false; - // split into columns - FIXME: different if GlueState() is used - for ( ScRangePtr p = m_xRanges->First(); p; p = m_xRanges->Next()) - { - for ( SCCOL nCol = p->aStart.Col(); nCol <= p->aEnd.Col(); ++nCol) - { - uno::Reference< chart2::data::XLabeledDataSequence > xLabeledSeq( - new ScChart2LabeledDataSequence( m_pDocument)); - if( xLabeledSeq.is()) - { - aVec.push_back( xLabeledSeq ); - if( bSeries ) - { - ScRangeListRef aColRanges = new ScRangeList; - // one single sheet selected assumed for now - aColRanges->Append( ScRange( nCol, p->aStart.Row(), - p->aStart.Tab(), nCol, p->aStart.Row(), - p->aStart.Tab())); - // TEST: add range two times, once as label, once as data - // TODO: create pure Numerical and Text sequences if possible - uno::Reference< chart2::data::XDataSequence > xLabel( - new ScChart2DataSequence( m_pDocument, aColRanges)); - - // set role - uno::Reference< beans::XPropertySet > xProp( xLabel, uno::UNO_QUERY ); - if( xProp.is()) - xProp->setPropertyValue( - ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Role" )), - ::uno::makeAny( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "label" )))); - - xLabeledSeq->setLabel( xLabel ); - } - - ScRangeListRef aColRanges = new ScRangeList; - - // one single sheet selected assumed for now - aColRanges->Append( ScRange( nCol, p->aStart.Row() + 1, - p->aStart.Tab(), nCol, p->aEnd.Row(), - p->aStart.Tab())); - uno::Reference< chart2::data::XDataSequence > xData( - new ScChart2DataSequence( m_pDocument, aColRanges)); - - // set role - uno::Reference< beans::XPropertySet > xProp( xData, uno::UNO_QUERY ); - if( xProp.is()) - xProp->setPropertyValue( - ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Role" )), - ::uno::makeAny( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "values" )))); - - xLabeledSeq->setValues( xData ); - - bSeries = true; - } - } - } - uno::Sequence< uno::Reference< chart2::data::XLabeledDataSequence> > aSequences( - aVec.size()); - uno::Reference< chart2::data::XLabeledDataSequence> * pArr = aSequences.getArray(); - sal_Int32 j = 0; - for ( tVec::const_iterator iSeq = aVec.begin(); iSeq != aVec.end(); - ++iSeq, ++j) - { - pArr[j] = *iSeq; - } - return aSequences;*/ } void ScChart2DataSource::AddLabeledSequence(const uno::Reference < chart2::data::XLabeledDataSequence >& xNew) @@ -2709,11 +2635,10 @@ void ScChart2DataSequence::UpdateTokensFromRanges(const ScRangeList& rRanges) if (!m_pRangeIndices.get()) return; - sal_uInt32 nCount = rRanges.Count(); - for (sal_uInt32 i = 0; i < nCount; ++i) + for ( size_t i = 0, nCount = rRanges.size(); i < nCount; ++i ) { ScSharedTokenRef pToken; - ScRange* pRange = static_cast<ScRange*>(rRanges.GetObject(i)); + ScRangePtr pRange = rRanges[ i ]; DBG_ASSERT(pRange, "range object is NULL."); ScRefTokenHelper::getTokenFromRange(pToken, *pRange); @@ -2841,7 +2766,7 @@ void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint } } - DBG_ASSERT(m_pRangeIndices->size() == static_cast<size_t>(aRanges.Count()), + DBG_ASSERT(m_pRangeIndices->size() == static_cast<size_t>(aRanges.size()), "range list and range index list have different sizes."); auto_ptr<ScRangeList> pUndoRanges; @@ -2854,7 +2779,7 @@ void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint if (bChanged) { - DBG_ASSERT(m_pRangeIndices->size() == static_cast<size_t>(aRanges.Count()), + DBG_ASSERT(m_pRangeIndices->size() == aRanges.size(), "range list and range index list have different sizes after the reference update."); // Bring the change back from the range list to the token list. @@ -2884,7 +2809,7 @@ void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint const ScRangeList& rRanges = rUndoHint.GetRanges(); - sal_uInt32 nCount = rRanges.Count(); + size_t nCount = rRanges.size(); if (nCount != m_pRangeIndices->size()) { DBG_ERROR("range count and range index count differ."); @@ -3232,8 +3157,9 @@ uno::Sequence< ::rtl::OUString > SAL_CALL ScChart2DataSequence::generateLabel(ch ScRangeList aRanges; ScRefTokenHelper::getRangeListFromTokens(aRanges, *m_pTokens); uno::Reference< table::XCellRange > xSheet; - for ( p = aRanges.First(); p && !bFound; p = aRanges.Next()) + for ( size_t rIndex = 0, nRanges = aRanges.size(); (rIndex < nRanges) && !bFound; ++rIndex ) { + p = aRanges[ rIndex ]; // TODO: use DocIter? table::CellAddress aStart, aEnd; ScUnoConversion::FillApiAddress( aStart, p->aStart ); @@ -3507,46 +3433,6 @@ void ScChart2DataSequence::setDataChangedHint(bool b) m_bGotDataChangedHint = b; } -// XUnoTunnel - -// sal_Int64 SAL_CALL ScChart2DataSequence::getSomething( -// const uno::Sequence<sal_Int8 >& rId ) throw(uno::RuntimeException) -// { -// if ( rId.getLength() == 16 && -// 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(), -// rId.getConstArray(), 16 ) ) -// { -// return (sal_Int64)this; -// } -// return 0; -// } - -// // static -// const uno::Sequence<sal_Int8>& ScChart2DataSequence::getUnoTunnelId() -// { -// static uno::Sequence<sal_Int8> * pSeq = 0; -// if( !pSeq ) -// { -// osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() ); -// if( !pSeq ) -// { -// static uno::Sequence< sal_Int8 > aSeq( 16 ); -// rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True ); -// pSeq = &aSeq; -// } -// } -// return *pSeq; -// } - -// // static -// ScChart2DataSequence* ScChart2DataSequence::getImplementation( const uno::Reference<uno::XInterface> xObj ) -// { -// ScChart2DataSequence* pRet = NULL; -// uno::Reference<lang::XUnoTunnel> xUT( xObj, uno::UNO_QUERY ); -// if (xUT.is()) -// pRet = (ScChart2DataSequence*) xUT->getSomething( getUnoTunnelId() ); -// return pRet; -// } #if USE_CHART2_EMPTYDATASEQUENCE // DataSequence ============================================================== @@ -3820,46 +3706,6 @@ void SAL_CALL ScChart2EmptyDataSequence::removeVetoableChangeListener( OSL_ENSURE( false, "Not yet implemented" ); } -// XUnoTunnel - -// sal_Int64 SAL_CALL ScChart2EmptyDataSequence::getSomething( -// const uno::Sequence<sal_Int8 >& rId ) throw(uno::RuntimeException) -// { -// if ( rId.getLength() == 16 && -// 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(), -// rId.getConstArray(), 16 ) ) -// { -// return (sal_Int64)this; -// } -// return 0; -// } - -// // static -// const uno::Sequence<sal_Int8>& ScChart2EmptyDataSequence::getUnoTunnelId() -// { -// static uno::Sequence<sal_Int8> * pSeq = 0; -// if( !pSeq ) -// { -// osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() ); -// if( !pSeq ) -// { -// static uno::Sequence< sal_Int8 > aSeq( 16 ); -// rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True ); -// pSeq = &aSeq; -// } -// } -// return *pSeq; -// } - -// // static -// ScChart2DataSequence* ScChart2EmptyDataSequence::getImplementation( const uno::Reference<uno::XInterface> xObj ) -// { -// ScChart2DataSequence* pRet = NULL; -// uno::Reference<lang::XUnoTunnel> xUT( xObj, uno::UNO_QUERY ); -// if (xUT.is()) -// pRet = (ScChart2EmptyDataSequence*) xUT->getSomething( getUnoTunnelId() ); -// return pRet; -// } #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/unoobj/chartuno.cxx b/sc/source/ui/unoobj/chartuno.cxx index d50555029f0f..d84753cadf3b 100644 --- a/sc/source/ui/unoobj/chartuno.cxx +++ b/sc/source/ui/unoobj/chartuno.cxx @@ -627,12 +627,12 @@ void ScChartObj::getFastPropertyValue( uno::Any& rValue, sal_Int32 nHandle ) con const ScRangeListRef& rRangeList = pListener->GetRangeList(); if ( rRangeList.Is() ) { - ULONG nCount = rRangeList->Count(); + size_t nCount = rRangeList->size(); uno::Sequence< table::CellRangeAddress > aCellRanges( nCount ); table::CellRangeAddress* pCellRanges = aCellRanges.getArray(); - for ( USHORT i = 0; i < nCount; ++i ) + for ( size_t i = 0; i < nCount; ++i ) { - ScRange aRange( *rRangeList->GetObject( i ) ); + ScRange aRange( *rRangeList->at( i ) ); table::CellRangeAddress aCellRange; ScUnoConversion::FillApiRange( aCellRange, aRange ); pCellRanges[ i ] = aCellRange; @@ -725,14 +725,14 @@ uno::Sequence<table::CellRangeAddress> SAL_CALL ScChartObj::getRanges() throw(un GetData_Impl( xRanges, bColHeaders, bRowHeaders ); if ( xRanges.Is() ) { - ULONG nCount = xRanges->Count(); + size_t nCount = xRanges->size(); table::CellRangeAddress aRangeAddress; uno::Sequence<table::CellRangeAddress> aSeq(nCount); table::CellRangeAddress* pAry = aSeq.getArray(); - for (USHORT i=0; i<nCount; i++) + for (size_t i = 0; i < nCount; i++) { - ScRange aRange(*xRanges->GetObject(i)); + ScRange aRange( *xRanges->at( i ) ); aRangeAddress.Sheet = aRange.aStart.Tab(); aRangeAddress.StartColumn = aRange.aStart.Col(); diff --git a/sc/source/ui/unoobj/cursuno.cxx b/sc/source/ui/unoobj/cursuno.cxx index 96960bfabcac..528b506d9f8a 100644 --- a/sc/source/ui/unoobj/cursuno.cxx +++ b/sc/source/ui/unoobj/cursuno.cxx @@ -120,8 +120,8 @@ void SAL_CALL ScCellCursorObj::collapseToCurrentRegion() throw(uno::RuntimeExcep { SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); - DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" ); - ScRange aOneRange(*rRanges.GetObject(0)); + DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" ); + ScRange aOneRange( *rRanges[ 0 ] ); aOneRange.Justify(); ScDocShell* pDocSh = GetDocShell(); @@ -145,8 +145,8 @@ void SAL_CALL ScCellCursorObj::collapseToCurrentArray() throw(uno::RuntimeExcept { SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); - DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" ); - ScRange aOneRange(*rRanges.GetObject(0)); + DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" ); + ScRange aOneRange( *rRanges[ 0 ] ); aOneRange.Justify(); ScAddress aCursor(aOneRange.aStart); // use the start address of the range @@ -180,8 +180,8 @@ void SAL_CALL ScCellCursorObj::collapseToMergedArea() throw(uno::RuntimeExceptio if ( pDocSh ) { const ScRangeList& rRanges = GetRangeList(); - DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" ); - ScRange aNewRange(*rRanges.GetObject(0)); + DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" ); + ScRange aNewRange( *rRanges[ 0 ] ); ScDocument* pDoc = pDocSh->GetDocument(); pDoc->ExtendOverlapped( aNewRange ); @@ -195,8 +195,8 @@ void SAL_CALL ScCellCursorObj::expandToEntireColumns() throw(uno::RuntimeExcepti { SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); - DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" ); - ScRange aNewRange(*rRanges.GetObject(0)); + DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" ); + ScRange aNewRange( *rRanges[ 0 ] ); aNewRange.aStart.SetRow( 0 ); aNewRange.aEnd.SetRow( MAXROW ); @@ -208,8 +208,8 @@ void SAL_CALL ScCellCursorObj::expandToEntireRows() throw(uno::RuntimeException) { SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); - DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" ); - ScRange aNewRange(*rRanges.GetObject(0)); + DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" ); + ScRange aNewRange( *rRanges[ 0 ] ); aNewRange.aStart.SetCol( 0 ); aNewRange.aEnd.SetCol( MAXCOL ); @@ -229,8 +229,8 @@ void SAL_CALL ScCellCursorObj::collapseToSize( sal_Int32 nColumns, sal_Int32 nRo else { const ScRangeList& rRanges = GetRangeList(); - DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" ); - ScRange aNewRange(*rRanges.GetObject(0)); + DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" ); + ScRange aNewRange( *rRanges[ 0 ] ); aNewRange.Justify(); //! wirklich? @@ -261,8 +261,8 @@ void SAL_CALL ScCellCursorObj::gotoStartOfUsedArea( sal_Bool bExpand ) if ( pDocSh ) { const ScRangeList& rRanges = GetRangeList(); - DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" ); - ScRange aNewRange(*rRanges.GetObject(0)); + DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" ); + ScRange aNewRange( *rRanges[0] ); SCTAB nTab = aNewRange.aStart.Tab(); SCCOL nUsedX = 0; // Anfang holen @@ -289,8 +289,8 @@ void SAL_CALL ScCellCursorObj::gotoEndOfUsedArea( sal_Bool bExpand ) if ( pDocSh ) { const ScRangeList& rRanges = GetRangeList(); - DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" ); - ScRange aNewRange(*rRanges.GetObject(0)); + DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" ); + ScRange aNewRange( *rRanges[ 0 ]); SCTAB nTab = aNewRange.aStart.Tab(); SCCOL nUsedX = 0; // Ende holen @@ -318,8 +318,8 @@ void SAL_CALL ScCellCursorObj::gotoStart() throw(uno::RuntimeException) SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); - DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" ); - ScRange aOneRange(*rRanges.GetObject(0)); + DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" ); + ScRange aOneRange( *rRanges[ 0 ]); aOneRange.Justify(); ScDocShell* pDocSh = GetDocShell(); @@ -346,8 +346,8 @@ void SAL_CALL ScCellCursorObj::gotoEnd() throw(uno::RuntimeException) SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); - DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" ); - ScRange aOneRange(*rRanges.GetObject(0)); + DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" ); + ScRange aOneRange( *rRanges[ 0 ] ); aOneRange.Justify(); ScDocShell* pDocSh = GetDocShell(); @@ -371,8 +371,8 @@ void SAL_CALL ScCellCursorObj::gotoNext() throw(uno::RuntimeException) { SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); - DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" ); - ScRange aOneRange(*rRanges.GetObject(0)); + DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" ); + ScRange aOneRange( *rRanges[ 0 ] ); aOneRange.Justify(); ScAddress aCursor(aOneRange.aStart); // bei Block immer den Start nehmen @@ -393,8 +393,8 @@ void SAL_CALL ScCellCursorObj::gotoPrevious() throw(uno::RuntimeException) { SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); - DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" ); - ScRange aOneRange(*rRanges.GetObject(0)); + DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" ); + ScRange aOneRange( *rRanges[ 0 ] ); aOneRange.Justify(); ScAddress aCursor(aOneRange.aStart); // bei Block immer den Start nehmen @@ -416,8 +416,8 @@ void SAL_CALL ScCellCursorObj::gotoOffset( sal_Int32 nColumnOffset, sal_Int32 nR { SolarMutexGuard aGuard; const ScRangeList& rRanges = GetRangeList(); - DBG_ASSERT( rRanges.Count() == 1, "Range? Ranges?" ); - ScRange aOneRange(*rRanges.GetObject(0)); + DBG_ASSERT( rRanges.size() == 1, "Range? Ranges?" ); + ScRange aOneRange( *rRanges[ 0 ] ); aOneRange.Justify(); if ( aOneRange.aStart.Col() + nColumnOffset >= 0 && diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx index 8da80e40f30c..e46b0416c2b9 100644 --- a/sc/source/ui/unoobj/docuno.cxx +++ b/sc/source/ui/unoobj/docuno.cxx @@ -2121,13 +2121,13 @@ void ScModelObj::NotifyChanges( const ::rtl::OUString& rOperation, const ScRange aEvent.Source.set( static_cast< cppu::OWeakObject* >( this ) ); aEvent.Base <<= aEvent.Source; - ULONG nRangeCount = rRanges.Count(); + size_t nRangeCount = rRanges.size(); aEvent.Changes.realloc( static_cast< sal_Int32 >( nRangeCount ) ); - for ( ULONG nIndex = 0; nIndex < nRangeCount; ++nIndex ) + for ( size_t nIndex = 0; nIndex < nRangeCount; ++nIndex ) { uno::Reference< table::XCellRange > xRangeObj; - ScRange aRange( *rRanges.GetObject( nIndex ) ); + ScRange aRange( *rRanges[ nIndex ] ); if ( aRange.aStart == aRange.aEnd ) { xRangeObj.set( new ScCellObj( pDocShell, aRange.aStart ) ); @@ -2174,20 +2174,20 @@ void ScModelObj::NotifyChanges( const ::rtl::OUString& rOperation, const ScRange if (pScript) { ScRangeList aTabRanges; // collect ranges on this sheet - ULONG nRangeCount = rRanges.Count(); - for ( ULONG nIndex = 0; nIndex < nRangeCount; ++nIndex ) + size_t nRangeCount = rRanges.size(); + for ( size_t nIndex = 0; nIndex < nRangeCount; ++nIndex ) { - ScRange aRange( *rRanges.GetObject( nIndex ) ); + ScRange aRange( *rRanges[ nIndex ] ); if ( aRange.aStart.Tab() == nTab ) aTabRanges.Append( aRange ); } - ULONG nTabRangeCount = aTabRanges.Count(); + size_t nTabRangeCount = aTabRanges.size(); if ( nTabRangeCount > 0 ) { uno::Reference<uno::XInterface> xTarget; if ( nTabRangeCount == 1 ) { - ScRange aRange( *aTabRanges.GetObject( 0 ) ); + ScRange aRange( *aTabRanges[ 0 ] ); if ( aRange.aStart == aRange.aEnd ) xTarget.set( static_cast<cppu::OWeakObject*>( new ScCellObj( pDocShell, aRange.aStart ) ) ); else @@ -2642,13 +2642,13 @@ uno::Sequence < uno::Reference< table::XCellRange > > SAL_CALL ScTableSheetsObj: ScDocument* pDoc = pDocShell->GetDocument(); if (ScRangeStringConverter::GetRangeListFromString( aRangeList, aRange, pDoc, ::formula::FormulaGrammar::CONV_OOO, ';' )) { - sal_Int32 nCount = aRangeList.Count(); + size_t nCount = aRangeList.size(); if (nCount) { xRet.realloc(nCount); - for( sal_Int32 nIndex = 0; nIndex < nCount; nIndex++ ) + for( size_t nIndex = 0; nIndex < nCount; nIndex++ ) { - const ScRange* pRange = aRangeList.GetObject( nIndex ); + const ScRange* pRange = aRangeList[ nIndex ]; if( pRange ) xRet[nIndex] = new ScCellRangeObj(pDocShell, *pRange); } diff --git a/sc/source/ui/unoobj/funcuno.cxx b/sc/source/ui/unoobj/funcuno.cxx index 7f9105837801..24299b69f335 100644 --- a/sc/source/ui/unoobj/funcuno.cxx +++ b/sc/source/ui/unoobj/funcuno.cxx @@ -554,8 +554,6 @@ uno::Any SAL_CALL ScFunctionAccess::callFunction( const rtl::OUString& aName, ScAddress aAdr; ScCompiler aCompiler(pDoc,aAdr); aCompiler.SetGrammar(pDoc->GetGrammar()); - //if (!ScCompiler::IsInitialized()) - // ScCompiler::InitSymbolsEnglish(); // // find function @@ -647,9 +645,9 @@ uno::Any SAL_CALL ScFunctionAccess::callFunction( const rtl::OUString& aName, { ScDocument* pSrcDoc = pImpl->GetDocument(); const ScRangeList& rRanges = pImpl->GetRangeList(); - if ( pSrcDoc && rRanges.Count() == 1 ) + if ( pSrcDoc && rRanges.size() == 1 ) { - ScRange aSrcRange = *rRanges.GetObject(0); + ScRange aSrcRange = *rRanges[ 0 ]; long nStartRow = nDocRow; long nColCount = aSrcRange.aEnd.Col() - aSrcRange.aStart.Col() + 1; diff --git a/sc/source/ui/unoobj/viewuno.cxx b/sc/source/ui/unoobj/viewuno.cxx index 170607156d7f..43ff644b3781 100644 --- a/sc/source/ui/unoobj/viewuno.cxx +++ b/sc/source/ui/unoobj/viewuno.cxx @@ -755,10 +755,9 @@ uno::Sequence<sal_Int8> SAL_CALL ScTabViewObj::getImplementationId() BOOL lcl_TabInRanges( SCTAB nTab, const ScRangeList& rRanges ) { - ULONG nCount = rRanges.Count(); - for (ULONG i=0; i<nCount; i++) + for (size_t i = 0, nCount = rRanges.size(); i < nCount; ++i) { - const ScRange* pRange = rRanges.GetObject(i); + const ScRange* pRange = rRanges[ i ]; if ( nTab >= pRange->aStart.Tab() && nTab <= pRange->aEnd.Tab() ) return TRUE; } @@ -868,17 +867,17 @@ sal_Bool SAL_CALL ScTabViewObj::select( const uno::Any& aSelection ) // Ranges selektieren const ScRangeList& rRanges = pRangesImp->GetRangeList(); - ULONG nRangeCount = rRanges.Count(); + size_t nRangeCount = rRanges.size(); // for empty range list, remove selection (cursor remains where it was) if ( nRangeCount == 0 ) pViewSh->Unmark(); else if ( nRangeCount == 1 ) - pViewSh->MarkRange( *rRanges.GetObject(0) ); + pViewSh->MarkRange( *rRanges[ 0 ] ); else { // Mehrfachselektion - const ScRange* pFirst = rRanges.GetObject(0); + const ScRange* pFirst = rRanges[ 0 ]; if ( pFirst && !lcl_TabInRanges( pViewData->GetTabNo(), rRanges ) ) pViewSh->SetTabNo( pFirst->aStart.Tab() ); pViewSh->DoneBlockMode(); @@ -1042,7 +1041,7 @@ uno::Any SAL_CALL ScTabViewObj::getSelection() throw(uno::RuntimeException) ScRangeList aRangeList; aFilteredMark.FillRangeListWithMarks( &aRangeList, FALSE); // Theoretically a selection may start and end on a filtered row. - switch (aRangeList.Count()) + switch ( aRangeList.size() ) { case 0: // No unfiltered row, we have to return some object, so @@ -1051,7 +1050,7 @@ uno::Any SAL_CALL ScTabViewObj::getSelection() throw(uno::RuntimeException) break; case 1: { - const ScRange& rRange = *(aRangeList.GetObject(0)); + const ScRange& rRange = *(aRangeList[ 0 ]); if (rRange.aStart == rRange.aEnd) pObj = new ScCellObj( pDocSh, rRange.aStart ); else @@ -1227,9 +1226,9 @@ ScTabViewObj::selectSheet( const uno::Reference<sheet::XSpreadsheet>& xActiveShe if ( pRangesImp && pViewSh->GetViewData()->GetDocShell() == pRangesImp->GetDocShell() ) { const ScRangeList& rRanges = pRangesImp->GetRangeList(); - if ( rRanges.Count() == 1 ) + if ( rRanges.size() == 1 ) { - SCTAB nNewTab = rRanges.GetObject(0)->aStart.Tab(); + SCTAB nNewTab = rRanges[ 0 ]->aStart.Tab(); if ( pViewSh->GetViewData()->GetDocument()->HasTable(nNewTab) ) pViewSh->SetTabNo( nNewTab, bNew, bExpand ); } diff --git a/sc/source/ui/vba/vbaapplication.cxx b/sc/source/ui/vba/vbaapplication.cxx index bded9017e8ac..de4610d7e1f7 100644 --- a/sc/source/ui/vba/vbaapplication.cxx +++ b/sc/source/ui/vba/vbaapplication.cxx @@ -1177,12 +1177,12 @@ uno::Reference< excel::XRange > lclCreateVbaRange( for( ListOfScRange::const_iterator aIt = rList.begin(), aEnd = rList.end(); aIt != aEnd; ++aIt ) aCellRanges.Append( *aIt ); - if( aCellRanges.Count() == 1 ) + if( aCellRanges.size() == 1 ) { - uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pDocShell, *aCellRanges.First() ) ); + uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pDocShell, *aCellRanges.front() ) ); return new ScVbaRange( excel::getUnoSheetModuleObj( xRange ), rxContext, xRange ); } - if( aCellRanges.Count() > 1 ) + if( aCellRanges.size() > 1 ) { uno::Reference< sheet::XSheetCellRangeContainer > xRanges( new ScCellRangesObj( pDocShell, aCellRanges ) ); return new ScVbaRange( excel::getUnoSheetModuleObj( xRanges ), rxContext, xRanges ); diff --git a/sc/source/ui/vba/vbaeventshelper.cxx b/sc/source/ui/vba/vbaeventshelper.cxx index 5e9eab58e8c4..f99b32016c8e 100644 --- a/sc/source/ui/vba/vbaeventshelper.cxx +++ b/sc/source/ui/vba/vbaeventshelper.cxx @@ -314,7 +314,7 @@ void SAL_CALL ScVbaEventsListener::changesOccurred( const util::ChangesEvent& aE } } - if( (aRangeList.Count() > 0) && mpDocShell ) + if( ( !aRangeList.empty() ) && mpDocShell ) { uno::Reference< sheet::XSheetCellRangeContainer > xRanges( new ScCellRangesObj( mpDocShell, aRangeList ) ); uno::Sequence< uno::Any > aArgs(1); @@ -680,7 +680,7 @@ bool ScVbaEventsHelper::isSelectionChanged( const uno::Sequence< uno::Any >& rAr maOldSelection = pNewCellRanges->GetRangeList(); return bChanged; } - maOldSelection.Clear(); + maOldSelection.clear(); return true; } diff --git a/sc/source/ui/vba/vbahyperlinks.cxx b/sc/source/ui/vba/vbahyperlinks.cxx index 083607ff345d..85c6ae6c218c 100644 --- a/sc/source/ui/vba/vbahyperlinks.cxx +++ b/sc/source/ui/vba/vbahyperlinks.cxx @@ -46,11 +46,11 @@ namespace { bool lclContains( const ScRangeList& rScOuter, const uno::Reference< excel::XRange >& rxInner ) throw (uno::RuntimeException) { const ScRangeList& rScInner = ScVbaRange::getScRangeList( rxInner ); - if( (rScInner.Count() == 0) || (rScOuter.Count() == 0) ) + if( (rScInner.size() == 0) || (rScOuter.size() == 0) ) throw uno::RuntimeException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Empty range objects" ) ), uno::Reference< uno::XInterface >() ); - for( ULONG nIndex = 0, nCount = rScInner.Count(); nIndex < nCount; ++nIndex ) - if( !rScOuter.In( *rScInner.GetObject( nIndex ) ) ) + for( size_t nIndex = 0, nCount = rScInner.size(); nIndex < nCount; ++nIndex ) + if( !rScOuter.In( *rScInner[ nIndex ] ) ) return false; return true; } @@ -97,7 +97,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.Count() == 1) && (rScRanges2.Count() == 1) && (*rScRanges1.GetObject( 0 ) == *rScRanges2.GetObject( 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/vbapagesetup.cxx b/sc/source/ui/vba/vbapagesetup.cxx index 0e2ae31c17a9..b387da05f3a2 100644 --- a/sc/source/ui/vba/vbapagesetup.cxx +++ b/sc/source/ui/vba/vbapagesetup.cxx @@ -113,10 +113,10 @@ void SAL_CALL ScVbaPageSetup::setPrintArea( const rtl::OUString& rAreas ) throw ScRange aRange; if( getScRangeListForAddress( rAreas, excel::getDocShell( mxModel ) , aRange, aCellRanges ) ) { - uno::Sequence< table::CellRangeAddress > aSeq( aCellRanges.Count() ); - USHORT i=0; - for( ScRange* pRange = aCellRanges.First(); pRange; pRange = aCellRanges.Next() ) + uno::Sequence< table::CellRangeAddress > aSeq( aCellRanges.size() ); + for ( size_t i = 0, nRanges = aCellRanges.size(); i < nRanges; ++i ) { + ScRangePtr pRange = aCellRanges[ i ]; table::CellRangeAddress aRangeAddress; ScUnoConversion::FillApiRange( aRangeAddress, *pRange ); aSeq[ i++ ] = aRangeAddress; diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx index da141c3f8074..c07cdbd48333 100644 --- a/sc/source/ui/vba/vbarange.cxx +++ b/sc/source/ui/vba/vbarange.cxx @@ -243,9 +243,9 @@ uno::Reference< excel::XRange > lcl_makeXRangeFromSheetCellRanges( const uno::Re aCellRanges.Append( refRange ); } // Single range - if ( aCellRanges.First() == aCellRanges.Last() ) + if ( aCellRanges.size() == 1 ) { - uno::Reference< table::XCellRange > xTmpRange( new ScCellRangeObj( pDoc, *aCellRanges.First() ) ); + uno::Reference< table::XCellRange > xTmpRange( new ScCellRangeObj( pDoc, *aCellRanges.front() ) ); xRange = new ScVbaRange( xParent, xContext, xTmpRange ); } else @@ -828,7 +828,7 @@ protected: if ( pUnoRangesBase ) { ScRangeList aCellRanges = pUnoRangesBase->GetRangeList(); - ScCompiler aCompiler( m_pDoc, aCellRanges.First()->aStart ); + ScCompiler aCompiler( m_pDoc, aCellRanges.front()->aStart ); aCompiler.SetGrammar(m_eGrammar); // compile the string in the format passed in aCompiler.CompileString( sFormula ); @@ -872,7 +872,7 @@ public: pUnoRangesBase ) { ScRangeList aCellRanges = pUnoRangesBase->GetRangeList(); - ScCompiler aCompiler( m_pDoc, aCellRanges.First()->aStart ); + ScCompiler aCompiler( m_pDoc, aCellRanges.front()->aStart ); aCompiler.SetGrammar(formula::FormulaGrammar::GRAM_DEFAULT); aCompiler.CompileString( sVal ); // set desired convention @@ -1160,8 +1160,9 @@ bool getScRangeListForAddress( const rtl::OUString& sName, ScDocShell* pDocSh, S bool bTabFromReferrer = !( nFlags & SCA_TAB_3D ); - for ( ScRange* pRange = aCellRanges.First() ; pRange; pRange = aCellRanges.Next() ) + for ( size_t i = 0, nRanges = aCellRanges.size(); i < nRanges; ++i ) { + ScRangePtr 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() ); @@ -1183,9 +1184,9 @@ getRangeForName( const uno::Reference< uno::XComponentContext >& xContext, const if ( !getScRangeListForAddress ( sName, pDocSh, refRange, aCellRanges, eConv ) ) throw uno::RuntimeException(); // Single range - if ( aCellRanges.First() == aCellRanges.Last() ) + if ( aCellRanges.size() == 1 ) { - uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pDocSh, *aCellRanges.First() ) ); + uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pDocSh, *aCellRanges.front() ) ); uno::Reference< XHelperInterface > xFixThisParent = excel::getUnoSheetModuleObj( xRange ); return new ScVbaRange( xFixThisParent, xContext, xRange ); } @@ -1348,10 +1349,10 @@ table::CellRangeAddress getCellRangeAddressForVBARange( const uno::Any& aParam, ScRange refRange; if ( getScRangeListForAddress ( rString, pDocSh, refRange, aCellRanges, aConv ) ) { - if ( aCellRanges.First() == aCellRanges.Last() ) + if ( aCellRanges.size() == 1 ) { table::CellRangeAddress aRangeAddress; - ScUnoConversion::FillApiRange( aRangeAddress, *aCellRanges.First() ); + ScUnoConversion::FillApiRange( aRangeAddress, *aCellRanges.front() ); return aRangeAddress; } } @@ -1824,14 +1825,15 @@ ScVbaRange::HasFormula() throw (uno::RuntimeException) uno::Reference<uno::XInterface> xRanges( pThisRanges->queryFormulaCells( ( sheet::FormulaResult::ERROR | sheet::FormulaResult::VALUE | sheet::FormulaResult::STRING ) ), uno::UNO_QUERY_THROW ); ScCellRangesBase* pFormulaRanges = dynamic_cast< ScCellRangesBase * > ( xRanges.get() ); // check if there are no formula cell, return false - if ( pFormulaRanges->GetRangeList().Count() == 0 ) + if ( pFormulaRanges->GetRangeList().empty() ) return uno::makeAny(sal_False); // chech if there are holes (where some cells are not formulas) // or returned range is not equal to this range - if ( ( pFormulaRanges->GetRangeList().Count() > 1 ) - || ( pFormulaRanges->GetRangeList().GetObject(0)->aStart != pThisRanges->GetRangeList().GetObject(0)->aStart ) - || ( pFormulaRanges->GetRangeList().GetObject(0)->aEnd != pThisRanges->GetRangeList().GetObject(0)->aEnd ) ) + if ( ( pFormulaRanges->GetRangeList().size() > 1 ) + || ( pFormulaRanges->GetRangeList().front()->aStart != pThisRanges->GetRangeList().front()->aStart ) + || ( pFormulaRanges->GetRangeList().front()->aEnd != pThisRanges->GetRangeList().front()->aEnd ) + ) return aNULL(); // should return aNULL; } return uno::makeAny( sal_True ); @@ -1916,8 +1918,9 @@ ScVbaRange::Offset( const ::uno::Any &nRowOff, const uno::Any &nColOff ) throw ( ScRangeList aCellRanges = pUnoRangesBase->GetRangeList(); - for ( ScRange* pRange = aCellRanges.First() ; pRange; pRange = aCellRanges.Next() ) + for ( size_t i = 0, nRanges = aCellRanges.size(); i < nRanges; ++i ) { + ScRange* pRange = aCellRanges[ i ]; if ( bIsColumnOffset ) { pRange->aStart.SetCol( pRange->aStart.Col() + nColOffset ); @@ -1930,13 +1933,13 @@ ScVbaRange::Offset( const ::uno::Any &nRowOff, const uno::Any &nColOff ) throw ( } } - if ( aCellRanges.Count() > 1 ) // Multi-Area + if ( aCellRanges.size() > 1 ) // Multi-Area { uno::Reference< sheet::XSheetCellRangeContainer > xRanges( new ScCellRangesObj( pUnoRangesBase->GetDocShell(), aCellRanges ) ); return new ScVbaRange( mxParent, mxContext, xRanges ); } // normal range - uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), *aCellRanges.First() ) ); + uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), *aCellRanges.front() ) ); return new ScVbaRange( mxParent, mxContext, xRange ); } @@ -2386,13 +2389,12 @@ ScVbaRange::Rows(const uno::Any& aIndex ) throw (uno::RuntimeException) ScCellRangesBase* pUnoRangesBase = getCellRangesBase(); ScRangeList aCellRanges = pUnoRangesBase->GetRangeList(); - ScRange aRange = *aCellRanges.First(); + ScRange aRange = *aCellRanges.front(); if( aIndex >>= nValue ) { aRange.aStart.SetRow( aRange.aStart.Row() + --nValue ); aRange.aEnd.SetRow( aRange.aStart.Row() ); } - else if ( aIndex >>= sAddress ) { ScAddress::Details dDetails( formula::FormulaGrammar::CONV_XL_A1, 0, 0 ); @@ -2431,7 +2433,7 @@ ScVbaRange::Columns(const uno::Any& aIndex ) throw (uno::RuntimeException) ScCellRangesBase* pUnoRangesBase = getCellRangesBase(); ScRangeList aCellRanges = pUnoRangesBase->GetRangeList(); - ScRange aRange = *aCellRanges.First(); + ScRange aRange = *aCellRanges.front(); if ( aIndex.hasValue() ) { if ( aIndex >>= nValue ) @@ -2924,8 +2926,9 @@ ScVbaRange::getEntireColumnOrRow( bool bColumn ) throw (uno::RuntimeException) // copy the range list ScRangeList aCellRanges = pUnoRangesBase->GetRangeList(); - for ( ScRange* pRange = aCellRanges.First() ; pRange; pRange = aCellRanges.Next() ) + for ( size_t i = 0, nRanges = aCellRanges.size(); i < nRanges; ++i ) { + ScRange* pRange = aCellRanges[ i ]; if ( bColumn ) { pRange->aStart.SetRow( 0 ); @@ -2937,13 +2940,13 @@ ScVbaRange::getEntireColumnOrRow( bool bColumn ) throw (uno::RuntimeException) pRange->aEnd.SetCol( MAXCOL ); } } - if ( aCellRanges.Count() > 1 ) // Multi-Area + if ( aCellRanges.size() > 1 ) // Multi-Area { uno::Reference< sheet::XSheetCellRangeContainer > xRanges( new ScCellRangesObj( pUnoRangesBase->GetDocShell(), aCellRanges ) ); return new ScVbaRange( mxParent, mxContext, xRanges, !bColumn, bColumn ); } - uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), *aCellRanges.First() ) ); + uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), *aCellRanges.front() ) ); return new ScVbaRange( mxParent, mxContext, xRange, !bColumn, bColumn ); } @@ -4939,11 +4942,11 @@ ScVbaRange::TextToColumns( const css::uno::Any& Destination, const css::uno::Any // Get field delimiters. String rFieldDelimiters; - if ( bTab ) rFieldDelimiters += '\t'; - if ( bSemicolon ) rFieldDelimiters += ';'; - if ( bComma ) rFieldDelimiters += ','; - if ( bSpace ) rFieldDelimiters += ' '; - if ( bOther ) rFieldDelimiters += *sOtherChar.getStr(); + if ( bTab ) rFieldDelimiters += '\t'; + if ( bSemicolon ) rFieldDelimiters += ';'; + if ( bComma ) rFieldDelimiters += ','; + if ( bSpace ) rFieldDelimiters += ' '; + if ( bOther ) rFieldDelimiters += *sOtherChar.getStr(); // Get the text in current range to SvMemoryStream. ScRange aSrcScRange; @@ -4951,9 +4954,9 @@ ScVbaRange::TextToColumns( const css::uno::Any& Destination, const css::uno::Any if ( pSrcCellRangesBase ) { ScRangeList aRangeList = pSrcCellRangesBase->GetRangeList(); - if ( aRangeList.First() ) + if ( !aRangeList.empty() ) { - aSrcScRange = *aRangeList.First(); + aSrcScRange = *aRangeList.front(); } } ScImportExport aExport( getScDocument(), aSrcScRange ); @@ -5805,9 +5808,9 @@ ScVbaRange::SpecialCells( const uno::Any& _oType, const uno::Any& _oValue) throw aCellRanges.Append( refRange ); } // Single range - if ( aCellRanges.First() == aCellRanges.Last() ) + if ( aCellRanges.size() == 1 ) { - uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( getScDocShell(), *aCellRanges.First() ) ); + 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 7cfa50a4e686..06dea2767291 100644 --- a/sc/source/ui/view/cellsh.cxx +++ b/sc/source/ui/view/cellsh.cxx @@ -517,11 +517,7 @@ void ScCellShell::GetHLinkState( SfxItemSet& rSet ) void ScCellShell::GetState(SfxItemSet &rSet) { - // removed: SID_BORDER_OBJECT (old Basic) - ScTabViewShell* pTabViewShell = GetViewData()->GetViewShell(); -// BOOL bOle = pTabViewShell->GetViewFrame()->GetFrame().IsInPlace(); -// BOOL bTabProt = GetViewData()->GetDocument()->IsTabProtected(GetViewData()->GetTabNo()); ScDocShell* pDocSh = GetViewData()->GetDocShell(); ScViewData* pData = GetViewData(); ScDocument* pDoc = pData->GetDocument(); @@ -742,8 +738,6 @@ void ScCellShell::GetState(SfxItemSet &rSet) case SID_SELECT_SCENARIO: { - // ScDocument* pDoc = GetViewData()->GetDocument(); - // SCTAB nTab = GetViewData()->GetTabNo(); List aList; Color aDummyCol; @@ -796,19 +790,6 @@ void ScCellShell::GetState(SfxItemSet &rSet) rSet.DisableItem( nWhich ); break; -/* Zellschutz bei selektierten Zellen wird bei anderen Funktionen auch nicht abgefragt... - case SID_DELETE: - { - if ( pDoc->IsTabProtected(nTab) ) - { - const SfxItemSet& rAttrSet = GetSelectionPattern()->GetItemSet(); - const ScProtectionAttr& rProtAttr = (const ScProtectionAttr&)rAttrSet.Get( ATTR_PROTECTION, TRUE ); - if ( rProtAttr.GetProtection() ) - rSet.DisableItem( nWhich ); - } - } - break; -*/ case SID_OUTLINE_MAKE: { if ( GetViewData()->GetDocument()->GetDPAtCursor( GetViewData()->GetCurX(), @@ -915,10 +896,10 @@ void ScCellShell::GetState(SfxItemSet &rSet) // look for at least one note in selection ScRangeList aRanges; rMark.FillRangeListWithMarks( &aRanges, FALSE ); - ULONG nCount = aRanges.Count(); - for (ULONG nPos=0; nPos<nCount && !bEnable; nPos++) + size_t nCount = aRanges.size(); + for (size_t nPos = 0; nPos < nCount && !bEnable; ++nPos) { - ScCellIterator aCellIter( pDoc, *aRanges.GetObject(nPos) ); + ScCellIterator aCellIter( pDoc, *aRanges.at(nPos) ); for( ScBaseCell* pCell = aCellIter.GetFirst(); pCell && !bEnable; pCell = aCellIter.GetNext() ) if ( pCell->HasNote() ) bEnable = TRUE; // note found diff --git a/sc/source/ui/view/dbfunc3.cxx b/sc/source/ui/view/dbfunc3.cxx index d9f3ccc97b2e..37c48ba4c1bf 100644 --- a/sc/source/ui/view/dbfunc3.cxx +++ b/sc/source/ui/view/dbfunc3.cxx @@ -774,12 +774,12 @@ void ScDBFunc::GetSelectedMemberList( ScStrCollection& rEntries, long& rDimensio ScRangeListRef xRanges; GetViewData()->GetMultiArea( xRanges ); // incl. cursor if nothing is selected - ULONG nRangeCount = xRanges->Count(); + size_t nRangeCount = xRanges->size(); BOOL bContinue = TRUE; - for (ULONG nRangePos=0; nRangePos<nRangeCount && bContinue; nRangePos++) + for (size_t nRangePos=0; nRangePos < nRangeCount && bContinue; nRangePos++) { - ScRange aRange = *xRanges->GetObject(nRangePos); + ScRange aRange = *xRanges->at(nRangePos); SCCOL nStartCol = aRange.aStart.Col(); SCROW nStartRow = aRange.aStart.Row(); SCCOL nEndCol = aRange.aEnd.Col(); diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index 234ce36cc5de..d17641f4e565 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -5127,10 +5127,10 @@ BOOL ScGridWindow::HasScenarioButton( const Point& rPosPixel, ScRange& rScenRang aMarks.FillRangeListWithMarks( &aRanges, FALSE ); - ULONG nRangeCount = aRanges.Count(); - for (ULONG j=0; j<nRangeCount; j++) + size_t nRangeCount = aRanges.size(); + for (size_t j=0; j< nRangeCount; ++j) { - ScRange aRange = *aRanges.GetObject(j); + ScRange aRange = *aRanges.at( j ); // Szenario-Rahmen immer dann auf zusammengefasste Zellen erweitern, wenn // dadurch keine neuen nicht-ueberdeckten Zellen mit umrandet werden pDoc->ExtendTotalMerge( aRange ); @@ -5251,8 +5251,9 @@ void ScGridWindow::UpdateCopySourceOverlay() ScClipParam& rClipParam = pClipDoc->GetClipParam(); mpOOSelectionBorder = new ::sdr::overlay::OverlayObjectList; - for (ScRange* p = rClipParam.maRanges.First(); p; p = rClipParam.maRanges.Next()) + for ( size_t i = 0; i < rClipParam.maRanges.size(); ++i ) { + ScRange* p = rClipParam.maRanges.at( i ); if (p->aStart.Tab() != nCurTab) continue; diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx index 136522fec177..46b705b7d4c2 100644 --- a/sc/source/ui/view/gridwin4.cxx +++ b/sc/source/ui/view/gridwin4.cxx @@ -84,9 +84,7 @@ void lcl_LimitRect( Rectangle& rRect, const Rectangle& rVisible ) { if ( rRect.Top() < rVisible.Top()-1 ) rRect.Top() = rVisible.Top()-1; -// if ( rRect.Left() < rVisible.Left()-1 ) rRect.Left() = rVisible.Left()-1; if ( rRect.Bottom() > rVisible.Bottom()+1 ) rRect.Bottom() = rVisible.Bottom()+1; -// if ( rRect.Right() > rVisible.Right()+1 ) rRect.Right() = rVisible.Right()+1; // #51122# auch wenn das inner-Rectangle nicht sichtbar ist, muss evtl. // die Titelzeile gezeichnet werden, darum kein Rueckgabewert mehr. @@ -220,10 +218,10 @@ void lcl_DrawScenarioFrames( OutputDevice* pDev, ScViewData* pViewData, ScSplitP BOOL bLayoutRTL = pDoc->IsLayoutRTL( nTab ); long nLayoutSign = bLayoutRTL ? -1 : 1; - USHORT nRangeCount = (USHORT)xRanges->Count(); - for (USHORT j=0; j<nRangeCount; j++) + size_t nRangeCount = xRanges->size(); + for (size_t j=0; j < nRangeCount; j++) { - ScRange aRange = *xRanges->GetObject(j); + ScRange aRange = *xRanges->at( j ); // Szenario-Rahmen immer dann auf zusammengefasste Zellen erweitern, wenn // dadurch keine neuen nicht-ueberdeckten Zellen mit umrandet werden pDoc->ExtendTotalMerge( aRange ); @@ -602,12 +600,6 @@ void ScGridWindow::Draw( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2, ScUpdateMod aOutputData.SetEditCell( nEditCol, nEditRow ); else bEditMode = FALSE; - - // nur Edit-Area zu zeichnen? - //! dann muss trotzdem noch der Rand / das Gitter gemalt werden! - -// if ( nEditCol <= nX1 && nEditEndCol >= nX2 && nEditRow <= nY1 && nEditEndRow >= nY2 ) -// bOnlyEdit = TRUE; } // define drawing layer map mode and paint rectangle @@ -819,11 +811,6 @@ void ScGridWindow::Draw( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2, ScUpdateMod pContentDev->SetMapMode(MAP_PIXEL); -#ifdef OLD_SELECTION_PAINT - if (pViewData->IsActive()) - aOutputData.DrawMark( this ); -#endif - if ( pViewData->IsRefMode() && nTab >= pViewData->GetRefStartZ() && nTab <= pViewData->GetRefEndZ() ) { Color aRefColor( rColorCfg.GetColorValue(svtools::CALCREFERENCE).nColor ); diff --git a/sc/source/ui/view/hdrcont.cxx b/sc/source/ui/view/hdrcont.cxx index 1e2d45e4c091..9df88088436a 100644 --- a/sc/source/ui/view/hdrcont.cxx +++ b/sc/source/ui/view/hdrcont.cxx @@ -896,9 +896,9 @@ void ScHeaderControl::Command( const CommandEvent& rCEvt ) BOOL bSelected = FALSE; ScRangeList aRanges; pViewData->GetMarkData().FillRangeListWithMarks( &aRanges, FALSE ); - ULONG nRangeCount = aRanges.Count(); - for (ULONG i=0; i<nRangeCount && !bSelected; i++) - if ( aRanges.GetObject(i)->Intersects( aNewRange ) ) + size_t nRangeCount = aRanges.size(); + for (size_t i=0; i < nRangeCount && !bSelected; ++i) + if ( aRanges.at( i )->Intersects( aNewRange ) ) bSelected = TRUE; // select the range if no part of it was selected diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx index bffd30928982..cb6259e6cac3 100644 --- a/sc/source/ui/view/tabview3.cxx +++ b/sc/source/ui/view/tabview3.cxx @@ -269,9 +269,6 @@ void ScTabView::InvalidateAttribs() rBindings.Invalidate( SID_NUMBER_CURRENCY ); rBindings.Invalidate( SID_NUMBER_PERCENT ); rBindings.Invalidate( SID_NUMBER_TIME ); - -// rBindings.Invalidate( SID_RANGE_VALUE ); -// rBindings.Invalidate( SID_RANGE_FORMULA ); } // SetCursor - Cursor setzen, zeichnen, InputWin updaten @@ -402,7 +399,6 @@ void ScTabView::SelectionChanged() rBindings.Invalidate( FID_MERGE_TOGGLE ); rBindings.Invalidate( SID_AUTOFILTER_HIDE ); rBindings.Invalidate( SID_UNFILTER ); -// rBindings.Invalidate( SID_IMPORT_DATA ); // jetzt wieder immer moeglich rBindings.Invalidate( SID_REIMPORT_DATA ); rBindings.Invalidate( SID_REFRESH_DBAREA ); rBindings.Invalidate( SID_OUTLINE_SHOW ); @@ -442,7 +438,6 @@ void ScTabView::SelectionChanged() rBindings.Invalidate( SID_INSERT_POSTIT ); rBindings.Invalidate( SID_CHARMAP ); rBindings.Invalidate( SID_OPENDLG_FUNCTION ); -// rBindings.Invalidate( FID_CONDITIONAL_FORMAT ); rBindings.Invalidate( SID_OPENDLG_CONDFRMT ); rBindings.Invalidate( FID_VALIDATION ); rBindings.Invalidate( SID_EXTERNAL_SOURCE ); @@ -1893,7 +1888,6 @@ void ScTabView::KillEditView( BOOL bNoPaint ) { pGridWin[i]->UpdateCursorOverlay(); pGridWin[i]->UpdateAutoFillOverlay(); - // pGridWin[i]->UpdateAllOverlays(); } } } @@ -2155,8 +2149,10 @@ void ScTabView::DoChartSelection( if( ScRangeStringConverter::GetRangeListFromString( aRangeList, rHilightRanges[i].RangeRepresentation, pDoc, pDoc->GetAddressConvention(), sep )) { - for ( ScRangePtr p = aRangeList.First(); p; p = aRangeList.Next()) + size_t nListSize = aRangeList.size(); + for ( size_t j = 0; j < nListSize; ++j ) { + ScRange* p = aRangeList.at( j ); if( rHilightRanges[i].Index == - 1 ) AddHighlightRange( *p, aSelColor ); else @@ -2594,7 +2590,6 @@ void ScTabView::ActivatePart( ScSplitPos eWhich ) { // GrabFocus nur, wenn vorher das andere GridWindow den Focus hatte // (z.B. wegen Suchen & Ersetzen) -//! aViewData.GetViewShell()->GetViewFrame()->GetWindow().GrabFocus(); pGridWin[eWhich]->GrabFocus(); } @@ -2673,14 +2668,6 @@ void ScTabView::ZoomChanged() SetNewVisArea(); - /* the old code - ScGridWindow* pWin = pGridWin[aViewData.GetActivePart()]; - if (pWin) - { - pWin->SetMapMode( pWin->GetDrawMapMode() ); // mit neuem Zoom - SetNewVisArea(); // benutzt den gesetzten MapMode - } */ - InterpretVisible(); // #69343# have everything calculated before painting SfxBindings& rBindings = aViewData.GetBindings(); diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx index 49f93c43ffac..0d2c4d233865 100644 --- a/sc/source/ui/view/viewfun2.cxx +++ b/sc/source/ui/view/viewfun2.cxx @@ -741,9 +741,11 @@ String ScViewFunc::GetAutoSumFormula( const ScRangeList& rRangeList, bool bSubTo } ScRangeList aRangeList = rRangeList; - const ScRange* pFirst = aRangeList.First(); - for (const ScRange* p = pFirst; p; p = aRangeList.Next()) + const ScRange* pFirst = aRangeList.front(); + size_t ListSize = aRangeList.size(); + for ( size_t i = 0; i < ListSize; ++i ) { + const ScRangePtr p = aRangeList.at( i ); if (p != pFirst) pArray->AddOpCode(ocSep); ScComplexRefData aRef; @@ -991,14 +993,12 @@ void ScViewFunc::SetPrintRanges( BOOL bEntireSheet, const String* pPrint, rMark.MarkToMulti(); ScRangeListRef aList( new ScRangeList ); rMark.FillRangeListWithMarks( aList, FALSE ); - USHORT nCnt = (USHORT) aList->Count(); - if ( nCnt ) + if ( !aList->empty() ) { - ScRangePtr pR; - USHORT i; - for ( pR = aList->First(), i=0; i < nCnt; - pR = aList->Next(), i++ ) + size_t nListSize = aList->size(); + for ( size_t i = 0; i < nListSize; ++i ) { + ScRangePtr pR = aList->at( i ); pDoc->AddPrintRange( nTab, *pR ); } } diff --git a/sc/source/ui/view/viewfun3.cxx b/sc/source/ui/view/viewfun3.cxx index ff1e5ea174af..0a393711c0d6 100644 --- a/sc/source/ui/view/viewfun3.cxx +++ b/sc/source/ui/view/viewfun3.cxx @@ -373,15 +373,16 @@ BOOL ScViewFunc::CopyToClip( ScDocument* pClipDoc, BOOL bCut, BOOL bApi, BOOL bI // Check for geometrical feasibility of the ranges. bool bValidRanges = true; - ScRangePtr p = aClipParam.maRanges.First(); + ScRangePtr p = 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; - for (p = aClipParam.maRanges.Next(); p; p = aClipParam.maRanges.Next()) + for ( size_t i = 1; i < aClipParam.maRanges.size(); ++i ) { + p = aClipParam.maRanges.at( i ); if (pDoc->HasSelectedBlockMatrixFragment( p->aStart.Col(), p->aStart.Row(), p->aEnd.Col(), p->aEnd.Row(), rMark)) { @@ -1075,8 +1076,10 @@ BOOL ScViewFunc::PasteFromClip( USHORT nFlags, ScDocument* pClipDoc, ScViewUtil::UnmarkFiltered( aFilteredMark, pDoc); aFilteredMark.FillRangeListWithMarks( &aRangeList, FALSE); nUnfilteredRows = 0; - for (ScRange* p = aRangeList.First(); p; p = aRangeList.Next()) + size_t ListSize = aRangeList.size(); + for ( size_t i = 0; i < ListSize; ++i ) { + ScRangePtr p = aRangeList.at( i ); nUnfilteredRows += p->aEnd.Row() - p->aStart.Row() + 1; } #if 0 diff --git a/sc/source/ui/view/viewfun4.cxx b/sc/source/ui/view/viewfun4.cxx index ffa79e40b5e4..50327e7bb286 100644 --- a/sc/source/ui/view/viewfun4.cxx +++ b/sc/source/ui/view/viewfun4.cxx @@ -239,15 +239,15 @@ void ScViewFunc::DoRefConversion( BOOL bRecord ) ScRangeListRef xRanges; GetViewData()->GetMultiArea( xRanges ); - ULONG nCount = xRanges->Count(); + size_t nCount = xRanges->size(); for (SCTAB i=0; i<nTabCount; i++) { if (rMark.GetTableSelect(i)) { - for (ULONG j=0; j<nCount; j++) + for (size_t j=0; j<nCount; j++) { - ScRange aRange = *xRanges->GetObject(j); + ScRange aRange = *xRanges->at(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 3aaae4e10f0d..2654443d3343 100644 --- a/sc/source/ui/view/viewfun6.cxx +++ b/sc/source/ui/view/viewfun6.cxx @@ -167,27 +167,32 @@ void ScViewFunc::MarkAndJumpToRanges(const ScRangeList& rRanges) ScDocShell* pDocSh = pView->GetDocShell(); ScRangeList aRanges(rRanges); - ScRange* p = aRanges.First(); + ScRange* p = aRanges.front(); ScRangeList aRangesToMark; ScAddress aCurPos = pView->GetCurPos(); - for (; p; p = aRanges.Next()) + size_t ListSize = aRanges.size(); + for ( size_t i = 0; i < ListSize; ++i ) { + ScRangePtr p = aRanges.at( 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 (!aRangesToMark.Count()) + if (aRangesToMark.empty()) return; // Jump to the first range of all precedent ranges. - p = aRangesToMark.First(); + p = aRangesToMark.front(); lcl_jumpToRange(*p, pView, pDocSh->GetDocument()); - for (; p; p = aRangesToMark.Next()) + ListSize = aRangesToMark.size(); + for ( size_t i = 0; i < ListSize; ++i ) + { + p = aRangesToMark.at( i ); MarkRange(*p, false, true); + } } void ScViewFunc::DetectiveMarkPred() diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx index d052dac652cb..7473f86c057f 100644 --- a/sc/source/ui/view/viewfunc.cxx +++ b/sc/source/ui/view/viewfunc.cxx @@ -943,10 +943,10 @@ BYTE ScViewFunc::GetSelectionScriptType() { ScRangeList aRanges; rMark.FillRangeListWithMarks( &aRanges, FALSE ); - ULONG nCount = aRanges.Count(); - for (ULONG i=0; i<nCount; i++) + size_t nCount = aRanges.size(); + for ( size_t i=0; i < nCount; i++ ) { - ScRange aRange = *aRanges.GetObject(i); + ScRange aRange = *aRanges.at( i ); ScCellIterator aIter( pDoc, aRange ); ScBaseCell* pCell = aIter.GetFirst(); while ( pCell ) |