summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Powers <jpowers27@cox.net>2010-12-08 22:38:24 -0800
committerKohei Yoshida <kyoshida@novell.com>2010-12-09 18:05:21 -0500
commit6eefbb4beea48b007e0a6e8ceeaa800319b9f5d8 (patch)
treeb1b9bb47248baf395774fca931443997e23e5c9a
parentbf9ed0595b1ec5900523f7a2f322c8310f8b6772 (diff)
Remove another DECLARE_LIST() from Calc
Signed-off-by: Kohei Yoshida <kyoshida@novell.com>
-rw-r--r--sc/inc/rangelst.hxx36
-rw-r--r--sc/source/core/data/clipparam.cxx35
-rw-r--r--sc/source/core/data/conditio.cxx6
-rw-r--r--sc/source/core/data/documen3.cxx17
-rw-r--r--sc/source/core/data/documen5.cxx8
-rw-r--r--sc/source/core/data/document.cxx53
-rw-r--r--sc/source/core/data/drwlayer.cxx10
-rw-r--r--sc/source/core/data/markdata.cxx17
-rw-r--r--sc/source/core/data/table2.cxx23
-rw-r--r--sc/source/core/data/table6.cxx18
-rw-r--r--sc/source/core/tool/chartarr.cxx6
-rw-r--r--sc/source/core/tool/charthelper.cxx13
-rw-r--r--sc/source/core/tool/chartpos.cxx51
-rw-r--r--sc/source/core/tool/rangelst.cxx159
-rw-r--r--sc/source/core/tool/rangeutl.cxx11
-rw-r--r--sc/source/core/tool/reftokenhelper.cxx6
-rw-r--r--sc/source/filter/excel/excform.cxx2
-rw-r--r--sc/source/filter/excel/excform8.cxx2
-rw-r--r--sc/source/filter/excel/xecontent.cxx16
-rw-r--r--sc/source/filter/excel/xeformula.cxx6
-rw-r--r--sc/source/filter/excel/xehelper.cxx14
-rw-r--r--sc/source/filter/excel/xename.cxx8
-rw-r--r--sc/source/filter/excel/xicontent.cxx23
-rw-r--r--sc/source/filter/excel/xiescher.cxx10
-rw-r--r--sc/source/filter/excel/xiformula.cxx2
-rw-r--r--sc/source/filter/excel/xihelper.cxx2
-rw-r--r--sc/source/filter/excel/xistyle.cxx18
-rw-r--r--sc/source/filter/html/htmlpars.cxx16
-rw-r--r--sc/source/filter/xcl97/xcl97rec.cxx4
-rw-r--r--sc/source/filter/xml/XMLStylesImportHelper.cxx58
-rw-r--r--sc/source/filter/xml/XMLStylesImportHelper.hxx6
-rw-r--r--sc/source/filter/xml/xmlsceni.cxx4
-rw-r--r--sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx22
-rw-r--r--sc/source/ui/app/inputwin.cxx20
-rw-r--r--sc/source/ui/app/rfindlst.cxx2
-rw-r--r--sc/source/ui/docshell/docfunc.cxx7
-rw-r--r--sc/source/ui/docshell/docsh3.cxx5
-rw-r--r--sc/source/ui/docshell/docsh4.cxx4
-rw-r--r--sc/source/ui/docshell/externalrefmgr.cxx2
-rw-r--r--sc/source/ui/docshell/tablink.cxx6
-rw-r--r--sc/source/ui/drawfunc/fuins2.cxx13
-rw-r--r--sc/source/ui/inc/rfindlst.hxx6
-rw-r--r--sc/source/ui/miscdlgs/acredlin.cxx77
-rw-r--r--sc/source/ui/miscdlgs/anyrefdg.cxx22
-rw-r--r--sc/source/ui/miscdlgs/highred.cxx5
-rw-r--r--sc/source/ui/miscdlgs/optsolver.cxx6
-rw-r--r--sc/source/ui/undo/undoblk.cxx39
-rw-r--r--sc/source/ui/unoobj/cellsuno.cxx257
-rw-r--r--sc/source/ui/unoobj/chart2uno.cxx168
-rw-r--r--sc/source/ui/unoobj/chartuno.cxx12
-rw-r--r--sc/source/ui/unoobj/cursuno.cxx52
-rw-r--r--sc/source/ui/unoobj/docuno.cxx22
-rw-r--r--sc/source/ui/unoobj/funcuno.cxx6
-rw-r--r--sc/source/ui/unoobj/viewuno.cxx19
-rw-r--r--sc/source/ui/vba/vbaapplication.cxx6
-rw-r--r--sc/source/ui/vba/vbaeventshelper.cxx4
-rw-r--r--sc/source/ui/vba/vbahyperlinks.cxx8
-rw-r--r--sc/source/ui/vba/vbapagesetup.cxx6
-rw-r--r--sc/source/ui/vba/vbarange.cxx65
-rw-r--r--sc/source/ui/view/cellsh.cxx25
-rw-r--r--sc/source/ui/view/dbfunc3.cxx6
-rw-r--r--sc/source/ui/view/gridwin.cxx9
-rw-r--r--sc/source/ui/view/gridwin4.cxx19
-rw-r--r--sc/source/ui/view/hdrcont.cxx6
-rw-r--r--sc/source/ui/view/tabview3.cxx19
-rw-r--r--sc/source/ui/view/viewfun2.cxx16
-rw-r--r--sc/source/ui/view/viewfun3.cxx9
-rw-r--r--sc/source/ui/view/viewfun4.cxx6
-rw-r--r--sc/source/ui/view/viewfun6.cxx17
-rw-r--r--sc/source/ui/view/viewfunc.cxx6
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 )