diff options
author | Brad Sowden <code@sowden.org> | 2011-12-29 22:29:34 +1300 |
---|---|---|
committer | Luboš Luňák <l.lunak@suse.cz> | 2012-01-04 13:49:10 +0100 |
commit | 4998b04122f98ce689ce8af7f3b32fe03f9b771a (patch) | |
tree | 67c0a725d1f12dec357b9aa029632af34914bc08 | |
parent | 9ff11d8b1db565e5bb82d85b130c434f01fb06ad (diff) |
Easyhack fdo#38831 remove SvStrings
------
With the for loop below Insert(x,nPos) was previously applied but nPos
is initialised to the end of vector and is always incremented in every
loop iteration i.e. Insert(x,nPos) is effectively a push_back(x). Agree?
In "short SvxNumberFormatShell::FillEListWithUserCurrencys(....)"
Also get rid of SvxDelStrgs (variant of SvStrings)
-rw-r--r-- | cui/source/inc/numfmt.hxx | 5 | ||||
-rw-r--r-- | cui/source/tabpages/numfmt.cxx | 74 | ||||
-rw-r--r-- | svx/inc/svx/numfmtsh.hxx | 80 | ||||
-rw-r--r-- | 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 2fb233d85787..ccfea59c207d 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 5866cfc9e852..17b2fbf4864d 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 89e9686bb042..5c7ce26c8f9a 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 9c0ba7108200..72b41fee4505 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; } } } |