[PATCH 6/8] fdo#38831 convert SvStrings to std::vector numfmt*.cxx/hxx
Brad Sowden
code at sowden.org
Wed Dec 28 21:18:21 PST 2011
Also get rid of SvxDelStrgs (variant of SvStrings)
---
cui/source/inc/numfmt.hxx | 5 +-
cui/source/tabpages/numfmt.cxx | 74 ++++++++++------------
svx/inc/svx/numfmtsh.hxx | 80 ++++++++++--------------
svx/source/items/numfmtsh.cxx | 131 +++++++++++++++++++++-------------------
4 files changed, 139 insertions(+), 151 deletions(-)
diff --git a/cui/source/inc/numfmt.hxx b/cui/source/inc/numfmt.hxx
index 2fb233d..ccfea59 100644
--- a/cui/source/inc/numfmt.hxx
+++ b/cui/source/inc/numfmt.hxx
@@ -46,6 +46,7 @@
class SvxNumberFormatShell;
class SvxNumberInfoItem;
+class vector;
//------------------------------------------------------------------------
@@ -147,10 +148,10 @@ private:
#ifdef _SVX_NUMFMT_CXX
void Init_Impl();
void FillCurrencyBox();
- void FillFormatListBox_Impl( SvxDelStrgs& rEntries );
+ void FillFormatListBox_Impl( std::vector<String*>& rEntries );
void UpdateOptions_Impl( sal_Bool bCheckCatChange );
void UpdateFormatListBox_Impl( sal_uInt16 bCat, sal_Bool bUpdateEdit );
- void DeleteEntryList_Impl( SvxDelStrgs& rEntries );
+ void DeleteEntryList_Impl( std::vector<String*>& rEntries );
void Obstructing();
void EnableBySourceFormat_Impl();
void SetCategory( sal_uInt16 nPos );
diff --git a/cui/source/tabpages/numfmt.cxx b/cui/source/tabpages/numfmt.cxx
index 5866cfc..17b2fbf 100644
--- a/cui/source/tabpages/numfmt.cxx
+++ b/cui/source/tabpages/numfmt.cxx
@@ -34,7 +34,6 @@
#include <unotools/localedatawrapper.hxx>
#include <i18npool/lang.h>
#include <svx/dialogs.hrc>
-#define _SVSTDARR_STRINGS
#define _SVSTDARR_STRINGSDTOR
#include <svl/svstdarr.hxx>
#include <svtools/colorcfg.hxx>
@@ -53,6 +52,7 @@
#include <sfx2/app.hxx>
#include <sfx2/basedlgs.hxx>
#include "svx/flagsdef.hxx"
+#include <vector>
#define NUMKEY_UNDEFINED SAL_MAX_UINT32
@@ -399,7 +399,7 @@ void SvxNumberFormatTabPage::Reset( const SfxItemSet& rSet )
sal_uInt16 nCatLbSelPos = 0;
sal_uInt16 nFmtLbSelPos = 0;
LanguageType eLangType = LANGUAGE_DONTKNOW;
- SvxDelStrgs aFmtEntryList;
+ std::vector<String*> aFmtEntryList;
SvxNumberValueType eValType = SVX_VALUE_TYPE_UNDEFINED;
double nValDouble = 0;
String aValString;
@@ -830,22 +830,21 @@ void SvxNumberFormatTabPage::SetInfoItem( const SvxNumberInfoItem& rItem )
}
}
-void SvxNumberFormatTabPage::FillFormatListBox_Impl( SvxDelStrgs& rEntries )
+void SvxNumberFormatTabPage::FillFormatListBox_Impl( std::vector<String*>& rEntries )
{
String* pEntry;
String aTmpString;
String aTmpCatString;
Font aFont=aLbCategory.GetFont();
- sal_uInt16 i = 0;
+ size_t i = 0;
short nTmpCatPos;
short aPrivCat;
aLbFormat.Clear();
aLbFormat.SetUpdateMode( sal_False );
- sal_uInt16 nCount = rEntries.Count();
-
- if(nCount<1) return;
+ if( rEntries.empty() )
+ return;
if(bOneAreaFlag)
{
@@ -878,10 +877,10 @@ void SvxNumberFormatTabPage::FillFormatListBox_Impl( SvxDelStrgs& rEntries )
if(pNumFmtShell!=NULL)
{
- for ( ; i < nCount; ++i )
+ for ( ; i < rEntries.size(); ++i )
{
pEntry = rEntries[i];
- aPrivCat=pNumFmtShell->GetCategory4Entry(i);
+ aPrivCat=pNumFmtShell->GetCategory4Entry( static_cast<sal_uInt16>(i) );
if(aPrivCat!=CAT_TEXT)
{
Color* pPreviewColor = NULL;
@@ -900,21 +899,11 @@ void SvxNumberFormatTabPage::FillFormatListBox_Impl( SvxDelStrgs& rEntries )
}
-/*************************************************************************
-#* Methode: DeleteEntryList_Impl
-#*------------------------------------------------------------------------
-#*
-#* Klasse: SvxNumberFormatTabPage
-#* Funktion: Loescht eine SvStrings- Liste
-#* Input: String-liste
-#* Output: ---
-#*
-#************************************************************************/
-
-void SvxNumberFormatTabPage::DeleteEntryList_Impl( SvxDelStrgs& rEntries )
+void SvxNumberFormatTabPage::DeleteEntryList_Impl( std::vector<String*>& rEntries )
{
- sal_uInt16 nCount = rEntries.Count();
- rEntries.DeleteAndDestroy(0,nCount);
+ for( std::vector<String*>::const_iterator it(rEntries.begin()); it != rEntries.end(); ++it )
+ delete *it;
+ rEntries.clear();
}
@@ -932,7 +921,6 @@ void SvxNumberFormatTabPage::DeleteEntryList_Impl( SvxDelStrgs& rEntries )
void SvxNumberFormatTabPage::UpdateOptions_Impl( sal_Bool bCheckCatChange /*= sal_False*/ )
{
- SvxDelStrgs aEntryList;
String theFormat = aEdFormat.GetText();
sal_uInt16 nCurCategory = aLbCategory.GetSelectEntryPos();
sal_uInt16 nCategory = nCurCategory;
@@ -1050,9 +1038,9 @@ void SvxNumberFormatTabPage::UpdateFormatListBox_Impl
sal_Bool bUpdateEdit // Format-Edit aktualisieren?
)
{
- SvxDelStrgs aEntryList;
- short nFmtLbSelPos = 0;
- short nTmpCatPos;
+ std::vector<String*> aEntryList;
+ short nFmtLbSelPos = 0;
+ short nTmpCatPos;
if(bOneAreaFlag)
{
@@ -1093,7 +1081,7 @@ void SvxNumberFormatTabPage::UpdateFormatListBox_Impl
REMOVE_DONTKNOW() // ggF. UI-Enable
- if ( (aEntryList.Count() > 0) && (nFmtLbSelPos != SELPOS_NONE) )
+ if ( (!aEntryList.empty()) && (nFmtLbSelPos != SELPOS_NONE) )
{
if(bUpdateEdit)
{
@@ -1146,6 +1134,8 @@ void SvxNumberFormatTabPage::UpdateFormatListBox_Impl
aWndPreview.NotifyChange( String() );
}
}
+
+ DeleteEntryList_Impl( aEntryList );
}
@@ -1243,7 +1233,6 @@ IMPL_LINK( SvxNumberFormatTabPage, SelFormatHdl_Impl, void *, pLb )
sal_uInt16 nSelPos = (sal_uInt16) aLbFormat.GetSelectEntryPos();
String aFormat = aLbFormat.GetSelectEntry();
String aComment;
- SvxDelStrgs aEntryList;
short nFmtLbSelPos = nSelPos;
@@ -1336,12 +1325,12 @@ IMPL_LINK( SvxNumberFormatTabPage, ClickHdl_Impl, ImageButton*, pIB)
if(pIB==&aIbAdd)
{ // Also called from FillItemSet() if a temporary currency format has
// to be added, not only if the Add button is enabled.
- String aFormat = aEdFormat.GetText();
- SvxDelStrgs aEntryList;
- SvxDelStrgs a2EntryList;
- sal_uInt16 nCatLbSelPos = 0;
- short nFmtLbSelPos = SELPOS_NONE;
- xub_StrLen nErrPos=0;
+ String aFormat = aEdFormat.GetText();
+ std::vector<String*> aEntryList;
+ std::vector<String*> a2EntryList;
+ sal_uInt16 nCatLbSelPos = 0;
+ short nFmtLbSelPos = SELPOS_NONE;
+ xub_StrLen nErrPos=0;
pNumFmtShell->SetCurCurrencyEntry(NULL);
bAdded = pNumFmtShell->AddFormat( aFormat, nErrPos,
@@ -1418,13 +1407,16 @@ IMPL_LINK( SvxNumberFormatTabPage, ClickHdl_Impl, ImageButton*, pIB)
}
EditHdl_Impl( &aEdFormat );
nReturn = ((nReturn & nReturnOneArea) ? 0 : (nReturn & nReturnChanged));
+
+ DeleteEntryList_Impl( aEntryList );
+ DeleteEntryList_Impl( a2EntryList );
}
else if(pIB==&aIbRemove)
{
- String aFormat = aEdFormat.GetText();
- SvxDelStrgs aEntryList;
- sal_uInt16 nCatLbSelPos = 0;
- short nFmtLbSelPos = SELPOS_NONE;
+ String aFormat = aEdFormat.GetText();
+ std::vector<String*> aEntryList;
+ sal_uInt16 nCatLbSelPos = 0;
+ short nFmtLbSelPos = SELPOS_NONE;
bDeleted = pNumFmtShell->RemoveFormat( aFormat,
nCatLbSelPos,
@@ -1434,7 +1426,7 @@ IMPL_LINK( SvxNumberFormatTabPage, ClickHdl_Impl, ImageButton*, pIB)
aEdComment.SetText(aLbCategory.GetEntry(1));
if ( bDeleted )
{
- if(nFmtLbSelPos>=0 && nFmtLbSelPos<aEntryList.Count())
+ if( nFmtLbSelPos>=0 && static_cast<size_t>(nFmtLbSelPos)<aEntryList.size() )
{
aFormat = *aEntryList[nFmtLbSelPos];
}
@@ -1460,6 +1452,8 @@ IMPL_LINK( SvxNumberFormatTabPage, ClickHdl_Impl, ImageButton*, pIB)
}
}
EditHdl_Impl( &aEdFormat );
+
+ DeleteEntryList_Impl( aEntryList );
}
else if(pIB==&aIbInfo)
{
diff --git a/svx/inc/svx/numfmtsh.hxx b/svx/inc/svx/numfmtsh.hxx
index 89e9686..5c7ce26 100644
--- a/svx/inc/svx/numfmtsh.hxx
+++ b/svx/inc/svx/numfmtsh.hxx
@@ -47,7 +47,6 @@
class Color;
class SvNumberFormatter;
class SvNumberFormatTable;
-class SvStrings;
class SvStringsDtor;
class NfCurrencyEntry;
// enum ------------------------------------------------------------------
@@ -78,15 +77,6 @@ enum SvxNumberValueType
#define NUMBERFORMAT_ENTRY_NEW_CURRENCY NUMBERFORMAT_ENTRY_NOT_FOUND-1
-class SvxDelStrgs: public SvStrings
-{
-
-public:
- ~SvxDelStrgs() { DeleteAndDestroy(0,Count());}
-
-};
-
-// class SvxNumberFormatShell --------------------------------------------
class SVX_DLLPUBLIC SvxNumberFormatShell
{
@@ -117,35 +107,35 @@ public:
const String* pNumStr = NULL );
- void GetInitSettings( sal_uInt16& nCatLbPos,
- LanguageType& rLangType,
- sal_uInt16& nFmtLbSelPos,
- SvStrings& rFmtEntries,
- String& rPrevString,
- Color*& rpPrevColor );
+ void GetInitSettings( sal_uInt16& nCatLbPos,
+ LanguageType& rLangType,
+ sal_uInt16& nFmtLbSelPos,
+ std::vector<String*>& rFmtEntries,
+ String& rPrevString,
+ Color*& rpPrevColor );
- void CategoryChanged( sal_uInt16 nCatLbPos,
- short& rFmtSelPos,
- SvStrings& rFmtEntries );
+ void CategoryChanged( sal_uInt16 nCatLbPos,
+ short& rFmtSelPos,
+ std::vector<String*>& rFmtEntries );
- void LanguageChanged( LanguageType eLangType,
- short& rFmtSelPos,
- SvStrings& rFmtEntries );
+ void LanguageChanged( LanguageType eLangType,
+ short& rFmtSelPos,
+ std::vector<String*>& rFmtEntries );
void FormatChanged( sal_uInt16 nFmtLbPos,
String& rPreviewStr,
Color*& rpFontColor );
- bool AddFormat( String& rFormat,
- xub_StrLen& rErrPos,
- sal_uInt16& rCatLbSelPos,
- short& rFmtSelPos,
- SvStrings& rFmtEntries );
+ bool AddFormat( String& rFormat,
+ xub_StrLen& rErrPos,
+ sal_uInt16& rCatLbSelPos,
+ short& rFmtSelPos,
+ std::vector<String*>& rFmtEntries );
- bool RemoveFormat( const String& rFormat,
- sal_uInt16& rCatLbSelPos,
- short& rFmtSelPos,
- SvStrings& rFmtEntries );
+ bool RemoveFormat( const String& rFormat,
+ sal_uInt16& rCatLbSelPos,
+ short& rFmtSelPos,
+ std::vector<String*>& rFmtEntries );
void MakeFormat( String& rFormat,
bool bThousand,
@@ -229,31 +219,29 @@ private:
NfCurrencyEntry* pCurCurrencyEntry;
bool bBankingSymbol;
sal_uInt16 nCurCurrencyEntryPos;
- SvStrings aCurrencyFormatList;
+ std::vector<String*> aCurrencyFormatList;
#ifdef _SVX_NUMFMTSH_CXX
- SVX_DLLPRIVATE short FillEntryList_Impl( SvStrings& rList );
- SVX_DLLPRIVATE void FillEListWithStd_Impl( SvStrings& rList,sal_uInt16 aPrivCat, short &Pos);
- SVX_DLLPRIVATE short FillEListWithFormats_Impl( SvStrings& rList,short nSelPos,
+ SVX_DLLPRIVATE short FillEntryList_Impl( std::vector<String*>& rList );
+ SVX_DLLPRIVATE void FillEListWithStd_Impl( std::vector<String*>& rList,sal_uInt16 aPrivCat, short &Pos);
+ SVX_DLLPRIVATE short FillEListWithFormats_Impl( std::vector<String*>& rList,short nSelPos,
NfIndexTableOffset eOffsetStart,
NfIndexTableOffset eOffsetEnd);
+ SVX_DLLPRIVATE short FillEListWithDateTime_Impl( std::vector<String*>& rList,short nSelPos);
+ SVX_DLLPRIVATE short FillEListWithCurrency_Impl( std::vector<String*>& rList,short nSelPos);
+ SVX_DLLPRIVATE short FillEListWithSysCurrencys( std::vector<String*>& rList,short nSelPos);
+ SVX_DLLPRIVATE short FillEListWithUserCurrencys( std::vector<String*>& rList,short nSelPos);
+ SVX_DLLPRIVATE short FillEListWithUsD_Impl( std::vector<String*>& rList, sal_uInt16 nPrivCat, short Pos );
- SVX_DLLPRIVATE short FillEListWithDateTime_Impl( SvStrings& rList,short nSelPos);
-
- SVX_DLLPRIVATE short FillEListWithCurrency_Impl( SvStrings& rList,short nSelPos);
- SVX_DLLPRIVATE short FillEListWithSysCurrencys( SvStrings& rList,short nSelPos);
- SVX_DLLPRIVATE short FillEListWithUserCurrencys( SvStrings& rList,short nSelPos);
-
- SVX_DLLPRIVATE short FillEListWithUsD_Impl( SvStrings& rList, sal_uInt16 nPrivCat, short Pos );
SVX_DLLPRIVATE ::std::vector<sal_uInt32>::iterator GetRemoved_Impl( size_t nKey );
SVX_DLLPRIVATE bool IsRemoved_Impl( size_t nKey );
SVX_DLLPRIVATE ::std::vector<sal_uInt32>::iterator GetAdded_Impl( size_t nKey );
SVX_DLLPRIVATE bool IsAdded_Impl( size_t nKey );
- SVX_DLLPRIVATE void GetPreviewString_Impl( String& rString,
- Color*& rpColor );
- SVX_DLLPRIVATE void PosToCategory_Impl( sal_uInt16 nPos, short& rCategory );
- SVX_DLLPRIVATE void CategoryToPos_Impl( short nCategory, sal_uInt16& rPos );
+ SVX_DLLPRIVATE void GetPreviewString_Impl( String& rString,
+ Color*& rpColor );
+ SVX_DLLPRIVATE void PosToCategory_Impl( sal_uInt16 nPos, short& rCategory );
+ SVX_DLLPRIVATE void CategoryToPos_Impl( short nCategory, sal_uInt16& rPos );
#endif
};
diff --git a/svx/source/items/numfmtsh.cxx b/svx/source/items/numfmtsh.cxx
index 9c0ba71..72b41fe 100644
--- a/svx/source/items/numfmtsh.cxx
+++ b/svx/source/items/numfmtsh.cxx
@@ -162,8 +162,9 @@ SvxNumberFormatShell::~SvxNumberFormatShell()
pFormatter->DeleteEntry( *it );
}
- if(aCurrencyFormatList.Count()>0)
- aCurrencyFormatList.DeleteAndDestroy(0,aCurrencyFormatList.Count());
+ for ( std::vector<String*>::const_iterator it(aCurrencyFormatList.begin());
+ it != aCurrencyFormatList.end(); ++it )
+ delete *it;
}
// -----------------------------------------------------------------------
@@ -188,9 +189,9 @@ void SvxNumberFormatShell::GetUpdateData( sal_uInt32* pDelArray, const sal_uInt3
// -----------------------------------------------------------------------
-void SvxNumberFormatShell::CategoryChanged( sal_uInt16 nCatLbPos,
- short& rFmtSelPos,
- SvStrings& rFmtEntries )
+void SvxNumberFormatShell::CategoryChanged( sal_uInt16 nCatLbPos,
+ short& rFmtSelPos,
+ std::vector<String*>& rFmtEntries )
{
short nOldCategory = nCurCategory;
PosToCategory_Impl( nCatLbPos, nCurCategory );
@@ -206,8 +207,8 @@ void SvxNumberFormatShell::CategoryChanged( sal_uInt16 nCatLbPos,
// -----------------------------------------------------------------------
void SvxNumberFormatShell::LanguageChanged( LanguageType eLangType,
- short& rFmtSelPos,
- SvStrings& rFmtEntries )
+ short& rFmtSelPos,
+ std::vector<String*>& rFmtEntries )
{
eCurLanguage = eLangType;
pCurFmtTable = &(pFormatter->ChangeCL( nCurCategory,
@@ -232,7 +233,7 @@ void SvxNumberFormatShell::FormatChanged( sal_uInt16 nFmtLbPos,
}
else if( nCurCategory == NUMBERFORMAT_CURRENCY )
{
- if(nFmtLbPos<aCurrencyFormatList.Count())
+ if( static_cast<size_t>(nFmtLbPos) < aCurrencyFormatList.size() )
{
MakePrevStringFromVal(*aCurrencyFormatList[nFmtLbPos],
rPreviewStr,rpFontColor,nValNum);
@@ -244,7 +245,7 @@ void SvxNumberFormatShell::FormatChanged( sal_uInt16 nFmtLbPos,
bool SvxNumberFormatShell::AddFormat( String& rFormat, xub_StrLen& rErrPos,
sal_uInt16& rCatLbSelPos, short& rFmtSelPos,
- SvStrings& rFmtEntries )
+ std::vector<String*>& rFmtEntries )
{
bool bInserted = false;
sal_uInt32 nAddKey = pFormatter->GetEntryKey( rFormat, eCurLanguage );
@@ -311,10 +312,10 @@ bool SvxNumberFormatShell::AddFormat( String& rFormat, xub_StrLen& rErrPos,
// -----------------------------------------------------------------------
-bool SvxNumberFormatShell::RemoveFormat( const String& rFormat,
- sal_uInt16& rCatLbSelPos,
- short& rFmtSelPos,
- SvStrings& rFmtEntries )
+bool SvxNumberFormatShell::RemoveFormat( const String& rFormat,
+ sal_uInt16& rCatLbSelPos,
+ short& rFmtSelPos,
+ std::vector<String*>& rFmtEntries )
{
sal_uInt32 nDelKey = pFormatter->GetEntryKey( rFormat, eCurLanguage );
@@ -352,10 +353,10 @@ void SvxNumberFormatShell::MakeFormat( String& rFormat,
sal_uInt16 nPrecision, sal_uInt16 nLeadingZeroes,
sal_uInt16 nCurrencyPos)
{
- if(aCurrencyFormatList.Count()>nCurrencyPos)
+ if( aCurrencyFormatList.size() > static_cast<size_t>(nCurrencyPos) )
{
xub_StrLen rErrPos=0;
- SvStrings aFmtEList;
+ std::vector<String*> aFmtEList;
sal_uInt32 nFound = pFormatter->TestNewString( *aCurrencyFormatList[nCurrencyPos], eCurLanguage );
@@ -374,7 +375,8 @@ void SvxNumberFormatShell::MakeFormat( String& rFormat,
bThousand, bNegRed,
nPrecision, nLeadingZeroes );
}
- aFmtEList.DeleteAndDestroy(0,aFmtEList.Count());
+ for ( std::vector<String*>::const_iterator it(aFmtEList.begin()); it != aFmtEList.end(); ++it )
+ delete *it;
}
else
{
@@ -517,13 +519,12 @@ bool SvxNumberFormatShell::FindEntry( const String& rFmtString, sal_uInt32* pAt
// -----------------------------------------------------------------------
-void SvxNumberFormatShell::GetInitSettings(
- sal_uInt16& nCatLbPos,
- LanguageType& rLangType,
- sal_uInt16& nFmtLbSelPos,
- SvStrings& rFmtEntries,
- String& rPrevString,
- Color*& rpPrevColor )
+void SvxNumberFormatShell::GetInitSettings( sal_uInt16& nCatLbPos,
+ LanguageType& rLangType,
+ sal_uInt16& nFmtLbSelPos,
+ std::vector<String*>& rFmtEntries,
+ String& rPrevString,
+ Color*& rpPrevColor )
{
// -------------------------------------------------------------------
// Vorbedingung: Zahlenformatierer gefunden
@@ -558,7 +559,7 @@ void SvxNumberFormatShell::GetInitSettings(
// -----------------------------------------------------------------------
-short SvxNumberFormatShell::FillEntryList_Impl( SvStrings& rList )
+short SvxNumberFormatShell::FillEntryList_Impl( std::vector<String*>& rList )
{
/* Erstellen einer aktuellen Liste von Format-Eintraegen.
* Rueckgabewert ist die Listenposition des aktuellen Formates.
@@ -595,7 +596,8 @@ short SvxNumberFormatShell::FillEntryList_Impl( SvStrings& rList )
return nSelPos;
}
-void SvxNumberFormatShell::FillEListWithStd_Impl( SvStrings& rList,sal_uInt16 nPrivCat,short &nSelPos )
+void SvxNumberFormatShell::FillEListWithStd_Impl( std::vector<String*>& rList,
+ sal_uInt16 nPrivCat,short &nSelPos )
{
/* Erstellen einer aktuellen Liste von Format-Eintraegen.
* Rueckgabewert ist die Listenposition des aktuellen Formates.
@@ -604,8 +606,10 @@ void SvxNumberFormatShell::FillEListWithStd_Impl( SvStrings& rList,sal_uInt16 nP
*/
DBG_ASSERT( pCurFmtTable != NULL, "Unbekanntes Zahlenformat!" );
- if(aCurrencyFormatList.Count()>0)
- aCurrencyFormatList.DeleteAndDestroy(0,aCurrencyFormatList.Count());
+ for ( std::vector<String*>::const_iterator it(aCurrencyFormatList.begin());
+ it != aCurrencyFormatList.end(); ++it )
+ delete *it;
+ aCurrencyFormatList.clear();
if(nPrivCat==CAT_CURRENCY)
{
@@ -658,7 +662,8 @@ void SvxNumberFormatShell::FillEListWithStd_Impl( SvStrings& rList,sal_uInt16 nP
}
}
-short SvxNumberFormatShell::FillEListWithFormats_Impl( SvStrings& rList,short nSelPos,
+short SvxNumberFormatShell::FillEListWithFormats_Impl( std::vector<String*>& rList,
+ short nSelPos,
NfIndexTableOffset eOffsetStart,
NfIndexTableOffset eOffsetEnd)
{
@@ -702,14 +707,15 @@ short SvxNumberFormatShell::FillEListWithFormats_Impl( SvStrings& rList,short nS
nSelPos = ( !IsRemoved_Impl( nNFEntry ) ) ? aCurEntryList.size() : SELPOS_NONE;
}
- rList.Insert( pStr,rList.Count());
+ rList.push_back( pStr );
aCurEntryList.push_back( nNFEntry );
}
return nSelPos;
}
-short SvxNumberFormatShell::FillEListWithDateTime_Impl( SvStrings& rList,short nSelPos)
+short SvxNumberFormatShell::FillEListWithDateTime_Impl( std::vector<String*>& rList,
+ short nSelPos)
{
sal_uInt16 nMyType;
@@ -745,7 +751,7 @@ short SvxNumberFormatShell::FillEListWithDateTime_Impl( SvStrings& rList,short n
nSelPos = ( !IsRemoved_Impl( nNFEntry ) ) ? aCurEntryList.size() : SELPOS_NONE;
}
- rList.Insert( pStr,rList.Count());
+ rList.push_back( pStr );
aCurEntryList.push_back( nNFEntry );
}
}
@@ -753,7 +759,8 @@ short SvxNumberFormatShell::FillEListWithDateTime_Impl( SvStrings& rList,short n
return nSelPos;
}
-short SvxNumberFormatShell::FillEListWithCurrency_Impl( SvStrings& rList,short nSelPos)
+short SvxNumberFormatShell::FillEListWithCurrency_Impl( std::vector<String*>& rList,
+ short nSelPos)
{
/* Erstellen einer aktuellen Liste von Format-Eintraegen.
* Rueckgabewert ist die Listenposition des aktuellen Formates.
@@ -786,7 +793,8 @@ short SvxNumberFormatShell::FillEListWithCurrency_Impl( SvStrings& rList,short n
}
-short SvxNumberFormatShell::FillEListWithSysCurrencys( SvStrings& rList,short nSelPos)
+short SvxNumberFormatShell::FillEListWithSysCurrencys( std::vector<String*>& rList,
+ short nSelPos)
{
/* Erstellen einer aktuellen Liste von Format-Eintraegen.
* Rueckgabewert ist die Listenposition des aktuellen Formates.
@@ -832,7 +840,7 @@ short SvxNumberFormatShell::FillEListWithSysCurrencys( SvStrings& rList,short nS
nSelPos = ( !IsRemoved_Impl( nNFEntry ) ) ? aCurEntryList.size() : SELPOS_NONE;
}
- rList.Insert( pStr,rList.Count());
+ rList.push_back( pStr );
aCurEntryList.push_back( nNFEntry );
}
@@ -868,7 +876,7 @@ short SvxNumberFormatShell::FillEListWithSysCurrencys( SvStrings& rList,short nS
const StringPtr pStr = new String(aNewFormNInfo);
if ( nKey == nCurFormatKey ) nSelPos =aCurEntryList.size();
- rList.Insert( pStr,rList.Count());
+ rList.push_back( pStr );
aCurEntryList.push_back( nKey );
}
}
@@ -878,7 +886,8 @@ short SvxNumberFormatShell::FillEListWithSysCurrencys( SvStrings& rList,short nS
return nSelPos;
}
-short SvxNumberFormatShell::FillEListWithUserCurrencys( SvStrings& rList,short nSelPos)
+short SvxNumberFormatShell::FillEListWithUserCurrencys( std::vector<String*>& rList,
+ short nSelPos)
{
/* Erstellen einer aktuellen Liste von Format-Eintraegen.
* Rueckgabewert ist die Listenposition des aktuellen Formates.
@@ -900,7 +909,7 @@ short SvxNumberFormatShell::FillEListWithUserCurrencys( SvStrings& rList,short n
XubString rSymbol;
XubString rBankSymbol;
- SvStrings aList;
+ std::vector<String*> aList;
std::vector<sal_uInt32> aKeyList;
pFormatter->GetNewCurrencySymbolString(nCurFormatKey,rSymbol,
@@ -982,9 +991,7 @@ short SvxNumberFormatShell::FillEListWithUserCurrencys( SvStrings& rList,short n
if(bInsFlag)
{
- const StringPtr pStr = new String(aNewFormNInfo);
-
- aList.Insert( pStr,aList.Count());
+ aList.push_back( new String(aNewFormNInfo) );
aKeyList.push_back( nKey );
}
}
@@ -1020,14 +1027,14 @@ short SvxNumberFormatShell::FillEListWithUserCurrencys( SvStrings& rList,short n
}
}
- size_t i,nPos;
- size_t nOldListCount = rList.Count();
- for( i = 0, nPos = nOldListCount; i < aWSStringsDtor.Count(); ++i)
+ size_t nOldListCount = rList.size();
+ for( size_t i = 0, nPos = nOldListCount;
+ i < static_cast<size_t>(aWSStringsDtor.Count()); ++i )
{
bool bFlag = true;
String aInsStr(*aWSStringsDtor[i]);
size_t j;
- for( j=0; j < aList.Count(); ++j )
+ for( j=0; j < aList.size(); ++j )
{
const StringPtr pTestStr=aList[j];
@@ -1039,30 +1046,30 @@ short SvxNumberFormatShell::FillEListWithUserCurrencys( SvStrings& rList,short n
}
if(bFlag)
{
- rList.Insert(new String(aInsStr),nPos);
+ rList.push_back( new String(aInsStr) );
aCurEntryList.insert( aCurEntryList.begin() + (nPos++), NUMBERFORMAT_ENTRY_NOT_FOUND);
}
else
{
- rList.Insert(aList[j],nPos);
- aList.Remove(j);
+ rList.push_back( aList[j] );
+ aList.erase( aList.begin()+j );
aCurEntryList.insert( aCurEntryList.begin() + (nPos++), aKeyList[j]);
aKeyList.erase( aKeyList.begin()+j );
}
}
- for( i = 0; i < aKeyList.size(); ++i )
+ for( size_t i = 0; i < aKeyList.size(); ++i )
{
if( aKeyList[i] != NUMBERFORMAT_ENTRY_NOT_FOUND )
{
- rList.Insert(aList[i],rList.Count());
+ rList.push_back( aList[i] );
aCurEntryList.push_back( aKeyList[i] );
}
}
- for( i = nOldListCount; i < rList.Count(); ++i )
+ for( size_t i = nOldListCount; i < rList.size(); ++i )
{
- aCurrencyFormatList.Insert(new String(*rList[i]),aCurrencyFormatList.Count());
+ aCurrencyFormatList.push_back( new String(*rList[i]) );
if ( nSelPos == SELPOS_NONE && bAdaptSelPos && aCurEntryList[i] == nCurFormatKey )
nSelPos = i;
@@ -1075,7 +1082,8 @@ short SvxNumberFormatShell::FillEListWithUserCurrencys( SvStrings& rList,short n
}
-short SvxNumberFormatShell::FillEListWithUsD_Impl( SvStrings& rList, sal_uInt16 nPrivCat, short nSelPos)
+short SvxNumberFormatShell::FillEListWithUsD_Impl( std::vector<String*>& rList,
+ sal_uInt16 nPrivCat, short nSelPos )
{
/* Erstellen einer aktuellen Liste von Format-Eintraegen.
* Rueckgabewert ist die Listenposition des aktuellen Formates.
@@ -1122,7 +1130,7 @@ short SvxNumberFormatShell::FillEListWithUsD_Impl( SvStrings& rList, sal_uInt16
const StringPtr pStr = new String(aNewFormNInfo);
if ( nKey == nCurFormatKey ) nSelPos = aCurEntryList.size();
- rList.Insert( pStr,rList.Count());
+ rList.push_back( pStr );
aCurEntryList.push_back( nKey );
}
}
@@ -1344,7 +1352,7 @@ short SvxNumberFormatShell::GetCategory4Entry(short nEntry)
}
return 0;
}
- else if(aCurrencyFormatList.Count()>0)
+ else if( !aCurrencyFormatList.empty() )
{
return CAT_CURRENCY;
}
@@ -1412,9 +1420,9 @@ String SvxNumberFormatShell::GetFormat4Entry(short nEntry)
if(nEntry < 0)
return String();
- if(aCurrencyFormatList.Count()>0)
+ if( !aCurrencyFormatList.empty() )
{
- if(aCurrencyFormatList.Count()>nEntry)
+ if( aCurrencyFormatList.size() > static_cast<size_t>(nEntry) )
return *aCurrencyFormatList[nEntry];
}
else
@@ -1478,15 +1486,12 @@ short SvxNumberFormatShell::GetListPos4Entry( const String& rFmtString )
}
else
{
- if(aCurrencyFormatList.Count()>0)
+ for( size_t i=0; i<aCurrencyFormatList.size(); i++ )
{
- for(sal_uInt16 i=0;i<aCurrencyFormatList.Count();i++)
+ if (rFmtString==*aCurrencyFormatList[i])
{
- if (rFmtString==*aCurrencyFormatList[i])
- {
- nSelP=i;
- break;
- }
+ nSelP = static_cast<short>(i);
+ break;
}
}
}
--
1.7.7.4
--------------080900070400030809010709--
More information about the LibreOffice
mailing list