[PATCH] Replace SvULongs and SVUShorts with std::vector
Maciej Rumianowski
maciej.rumianowski at gmail.com
Wed Sep 21 00:19:50 PDT 2011
Replace SvULongs with std::vector<sal_uIntPtr> and SvUShorts with std::vector<sal_uInt16>
---
svx/inc/svx/numfmtsh.hxx | 8 +------
svx/source/dialog/fntctrl.cxx | 24 +++++++++------------
svx/source/fmcomp/fmgridcl.cxx | 44 ++++++++++++++++++++--------------------
svx/source/items/numfmtsh.cxx | 28 ++++++++++++------------
4 files changed, 47 insertions(+), 57 deletions(-)
diff --git a/svx/inc/svx/numfmtsh.hxx b/svx/inc/svx/numfmtsh.hxx
index c29f71d..1fc0d7e 100644
--- a/svx/inc/svx/numfmtsh.hxx
+++ b/svx/inc/svx/numfmtsh.hxx
@@ -33,12 +33,6 @@
#include <tools/string.hxx>
#include <i18npool/lang.h>
-#ifndef _SVSTDARR_ULONGS
-#define _SVSTDARR_ULONGS
-#endif
-#ifndef _SVSTDARR_USHORTS
-#define _SVSTDARR_USHORTS
-#endif
#ifndef _SVSTDARR_STRINGS
#define _SVSTDARR_STRINGS
#endif
@@ -237,7 +231,7 @@ private:
sal_uInt32 nCurFormatKey;
short nCurCategory;
LanguageType eCurLanguage;
- SvUShorts aCurCurrencyList;
+ std::vector<sal_uInt16> aCurCurrencyList;
NfCurrencyEntry* pCurCurrencyEntry;
bool bBankingSymbol;
sal_uInt16 nCurCurrencyEntryPos;
diff --git a/svx/source/dialog/fntctrl.cxx b/svx/source/dialog/fntctrl.cxx
index 38be3d8..923a234 100644
--- a/svx/source/dialog/fntctrl.cxx
+++ b/svx/source/dialog/fntctrl.cxx
@@ -43,11 +43,10 @@
#include <com/sun/star/i18n/ScriptType.hdl>
#ifndef _SVSTDARR_HXX
-#define _SVSTDARR_USHORTS
-#define _SVSTDARR_ULONGS
#define _SVSTDARR_XUB_STRLEN
#include <svl/svstdarr.hxx>
#endif
+#include <vector>
#include <svtools/colorcfg.hxx>
#include <svx/fntctrl.hxx>
@@ -149,9 +148,9 @@ class FontPrevWin_Impl
sal_Bool bDelPrinter;
Reference < XBreakIterator > xBreak;
- SvULongs aTextWidth;
+ std::vector<sal_uIntPtr> aTextWidth;
SvXub_StrLens aScriptChg;
- SvUShorts aScriptType;
+ std::vector<sal_uInt16> aScriptType;
SvxFont aCJKFont;
SvxFont aCTLFont;
String aText;
@@ -248,14 +247,11 @@ inline sal_Bool FontPrevWin_Impl::Is100PercentFontWidthValid() const
void FontPrevWin_Impl::_CheckScript()
{
aScriptText = aText;
- size_t nCnt = aScriptChg.size();
- if( nCnt )
- {
- aScriptChg.clear();
- aScriptType.Remove( 0, nCnt );
- aTextWidth.Remove( 0, nCnt );
- nCnt = 0;
- }
+
+ aScriptChg.clear();
+ aScriptType.clear();
+ aTextWidth.clear();
+
if( !xBreak.is() )
{
Reference< XMultiServiceFactory > xMSF = ::comphelper::getProcessServiceFactory();
@@ -297,8 +293,8 @@ void FontPrevWin_Impl::_CheckScript()
{
aScriptChg.push_back( nChg );
}
- aScriptType.Insert( nScript, nCnt );
- aTextWidth.Insert( sal_uIntPtr(0), nCnt++ );
+ aScriptType.push_back( nScript );
+ aTextWidth.push_back( 0 );
if( nChg < aText.Len() )
nScript = xBreak->getScriptType( aText, nChg );
diff --git a/svx/source/fmcomp/fmgridcl.cxx b/svx/source/fmcomp/fmgridcl.cxx
index 2837df8..0f1b0df 100644
--- a/svx/source/fmcomp/fmgridcl.cxx
+++ b/svx/source/fmcomp/fmgridcl.cxx
@@ -454,47 +454,47 @@ IMPL_LINK( FmGridHeader, OnAsyncExecuteDrop, void*, /*NOTINTERESTEDIN*/ )
sal_uInt16 nPos = GetModelColumnPos(nColId);
Reference< XPropertySet > xCol, xSecondCol;
- // erzeugen der Column in abhaengigkeit vom type, default textfeld
- SvULongs aPossibleTypes;
+ // Create Column based on type, default textfield
+ std::vector<sal_uInt16> aPossibleTypes;
switch (nDataType)
{
case DataType::BIT:
case DataType::BOOLEAN:
- aPossibleTypes.Insert(SID_FM_CHECKBOX, aPossibleTypes.Count());
+ aPossibleTypes.push_back(SID_FM_CHECKBOX);
break;
case DataType::TINYINT:
case DataType::SMALLINT:
case DataType::INTEGER:
- aPossibleTypes.Insert(SID_FM_NUMERICFIELD, aPossibleTypes.Count());
- aPossibleTypes.Insert(SID_FM_FORMATTEDFIELD, aPossibleTypes.Count());
+ aPossibleTypes.push_back(SID_FM_NUMERICFIELD);
+ aPossibleTypes.push_back(SID_FM_FORMATTEDFIELD);
break;
case DataType::REAL:
case DataType::DOUBLE:
case DataType::NUMERIC:
case DataType::DECIMAL:
- aPossibleTypes.Insert(SID_FM_FORMATTEDFIELD, aPossibleTypes.Count());
- aPossibleTypes.Insert(SID_FM_NUMERICFIELD, aPossibleTypes.Count());
+ aPossibleTypes.push_back(SID_FM_FORMATTEDFIELD);
+ aPossibleTypes.push_back(SID_FM_NUMERICFIELD);
break;
case DataType::TIMESTAMP:
- aPossibleTypes.Insert(SID_FM_TWOFIELDS_DATE_N_TIME, aPossibleTypes.Count());
- aPossibleTypes.Insert(SID_FM_DATEFIELD, aPossibleTypes.Count());
- aPossibleTypes.Insert(SID_FM_TIMEFIELD, aPossibleTypes.Count());
- aPossibleTypes.Insert(SID_FM_FORMATTEDFIELD, aPossibleTypes.Count());
+ aPossibleTypes.push_back(SID_FM_TWOFIELDS_DATE_N_TIME);
+ aPossibleTypes.push_back(SID_FM_DATEFIELD);
+ aPossibleTypes.push_back(SID_FM_TIMEFIELD);
+ aPossibleTypes.push_back(SID_FM_FORMATTEDFIELD);
break;
case DataType::DATE:
- aPossibleTypes.Insert(SID_FM_DATEFIELD, aPossibleTypes.Count());
- aPossibleTypes.Insert(SID_FM_FORMATTEDFIELD, aPossibleTypes.Count());
+ aPossibleTypes.push_back(SID_FM_DATEFIELD);
+ aPossibleTypes.push_back(SID_FM_FORMATTEDFIELD);
break;
case DataType::TIME:
- aPossibleTypes.Insert(SID_FM_TIMEFIELD, aPossibleTypes.Count());
- aPossibleTypes.Insert(SID_FM_FORMATTEDFIELD, aPossibleTypes.Count());
+ aPossibleTypes.push_back(SID_FM_TIMEFIELD);
+ aPossibleTypes.push_back(SID_FM_FORMATTEDFIELD);
break;
case DataType::CHAR:
case DataType::VARCHAR:
case DataType::LONGVARCHAR:
default:
- aPossibleTypes.Insert(SID_FM_EDIT, aPossibleTypes.Count());
- aPossibleTypes.Insert(SID_FM_FORMATTEDFIELD, aPossibleTypes.Count());
+ aPossibleTypes.push_back(SID_FM_EDIT);
+ aPossibleTypes.push_back(SID_FM_FORMATTEDFIELD);
break;
}
// if it's a currency field, a a "currency field" option
@@ -502,7 +502,7 @@ IMPL_LINK( FmGridHeader, OnAsyncExecuteDrop, void*, /*NOTINTERESTEDIN*/ )
{
if ( ::comphelper::hasProperty(FM_PROP_ISCURRENCY, xField)
&& ::comphelper::getBOOL(xField->getPropertyValue(FM_PROP_ISCURRENCY)))
- aPossibleTypes.Insert(SID_FM_CURRENCYFIELD, 0);
+ aPossibleTypes.insert(aPossibleTypes.begin(), SID_FM_CURRENCYFIELD);
}
catch(Exception&)
{
@@ -510,18 +510,18 @@ IMPL_LINK( FmGridHeader, OnAsyncExecuteDrop, void*, /*NOTINTERESTEDIN*/ )
}
sal_Bool bDateNTimeCol = sal_False;
- if (aPossibleTypes.Count() != 0)
+ if (!aPossibleTypes.empty())
{
sal_Int32 nPreferedType = aPossibleTypes[0];
- if ((m_pImpl->nDropAction == DND_ACTION_LINK) && (aPossibleTypes.Count() > 1))
+ if ((m_pImpl->nDropAction == DND_ACTION_LINK) && (aPossibleTypes.size() > 1))
{
ImageList aImageList( SVX_RES(RID_SVXIMGLIST_FMEXPL) );
PopupMenu aInsertMenu(SVX_RES(RID_SVXMNU_COLS));
PopupMenu aTypeMenu;
PopupMenu* pMenu = aInsertMenu.GetPopupMenu(SID_FM_INSERTCOL);
- for (sal_uInt32 i=0; i<aPossibleTypes.Count(); ++i)
- SetMenuItem(aImageList, sal_uInt16(aPossibleTypes[(sal_uInt16)i]), pMenu, aTypeMenu, sal_True, 0);
+ for (std::vector<sal_uInt16>::iterator iter = aPossibleTypes.begin(); iter != aPossibleTypes.end(); ++iter)
+ SetMenuItem(aImageList, *iter, pMenu, aTypeMenu, sal_True, 0);
nPreferedType = aTypeMenu.Execute(this, m_pImpl->aDropPosPixel);
}
diff --git a/svx/source/items/numfmtsh.cxx b/svx/source/items/numfmtsh.cxx
index c759768..31edcd6 100644
--- a/svx/source/items/numfmtsh.cxx
+++ b/svx/source/items/numfmtsh.cxx
@@ -1518,7 +1518,7 @@ void SvxNumberFormatShell::GetCurrencySymbols( SvStringsDtor& rList, sal_uInt16*
sal_uInt16 nTableCount=rCurrencyTable.Count();
*pPos=0;
- sal_uInt16 nCount=aCurCurrencyList.Count();
+ size_t nCount=aCurCurrencyList.size();
if(bFlag)
{
@@ -1527,14 +1527,14 @@ void SvxNumberFormatShell::GetCurrencySymbols( SvStringsDtor& rList, sal_uInt16*
}
else
{
- for(sal_uInt16 i=1;i<nCount;i++)
+ for(size_t i=1;i<nCount;i++)
{
const sal_uInt16 j = aCurCurrencyList[i];
if (j != (sal_uInt16)-1 && j < nTableCount &&
pTmpCurrencyEntry == rCurrencyTable[j])
{
- *pPos=i;
- nCurCurrencyEntryPos=i;
+ *pPos=static_cast<sal_uInt16>(i);
+ nCurCurrencyEntryPos=static_cast<sal_uInt16>(i);
break;
}
}
@@ -1545,7 +1545,7 @@ void SvxNumberFormatShell::GetCurrencySymbols( SvStringsDtor& rList, sal_uInt16*
void SvxNumberFormatShell::GetCurrencySymbols( SvStringsDtor& rList, bool bFlag )
{
- aCurCurrencyList.Remove(0,aCurCurrencyList.Count());
+ aCurCurrencyList.clear();
const NfCurrencyTable& rCurrencyTable=SvNumberFormatter::GetTheCurrencyTable();
sal_uInt16 nCount=rCurrencyTable.Count();
@@ -1562,13 +1562,13 @@ void SvxNumberFormatShell::GetCurrencySymbols( SvStringsDtor& rList, bool bFlag
WSStringPtr pStr = new XubString(aString);
rList.Insert( pStr,rList.Count());
sal_uInt16 nAuto=(sal_uInt16)-1;
- aCurCurrencyList.Insert(nAuto,aCurCurrencyList.Count());
+ aCurCurrencyList.push_back(nAuto);
if(bFlag)
{
pStr = new XubString(aString);
rList.Insert( pStr,rList.Count());
- aCurCurrencyList.Insert((sal_uInt16)0,aCurCurrencyList.Count());
+ aCurCurrencyList.push_back(0);
++nStart;
}
@@ -1593,7 +1593,7 @@ void SvxNumberFormatShell::GetCurrencySymbols( SvStringsDtor& rList, bool bFlag
break; // insert before first greater than
}
rList.Insert( pStr,j);
- aCurCurrencyList.Insert(i,j);
+ aCurCurrencyList.insert(aCurCurrencyList.begin()+j, i);
}
// Append ISO codes to symbol list.
@@ -1619,7 +1619,7 @@ void SvxNumberFormatShell::GetCurrencySymbols( SvStringsDtor& rList, bool bFlag
if(bInsert)
{
rList.Insert( pStr,j);
- aCurCurrencyList.Insert(i,j);
+ aCurCurrencyList.insert(aCurCurrencyList.begin()+j, i);
}
}
@@ -1656,7 +1656,7 @@ void SvxNumberFormatShell::SetCurrencySymbol(sal_uInt16 nPos)
bBankingSymbol=(nPos>=nCount);
- if(nPos<aCurCurrencyList.Count())
+ if(nPos<aCurCurrencyList.size())
{
sal_uInt16 nCurrencyPos=aCurCurrencyList[nPos];
if(nCurrencyPos!=(sal_uInt16)-1)
@@ -1713,11 +1713,11 @@ sal_uInt16 SvxNumberFormatShell::FindCurrencyFormat( const String& rFmtString )
if(nPos!=(sal_uInt16)-1)
{
sal_uInt16 nStart=0;
- if(bTestBanking && aCurCurrencyList.Count()>nPos)
+ if(bTestBanking && aCurCurrencyList.size()>nPos)
{
nStart=nCount;
}
- for(sal_uInt16 j=nStart;j<aCurCurrencyList.Count();j++)
+ for(sal_uInt16 j=nStart;j<aCurCurrencyList.size();j++)
{
if(aCurCurrencyList[j]==nPos) return j;
}
@@ -1797,11 +1797,11 @@ sal_uInt16 SvxNumberFormatShell::FindCurrencyFormat(const NfCurrencyEntry* pTmpC
}
sal_uInt16 nStart=0;
- if(bTmpBanking && aCurCurrencyList.Count()>nPos)
+ if(bTmpBanking && aCurCurrencyList.size()>nPos)
{
nStart=nCount;
}
- for(sal_uInt16 j=nStart;j<aCurCurrencyList.Count();j++)
+ for(sal_uInt16 j=nStart;j<aCurCurrencyList.size();j++)
{
if(aCurCurrencyList[j]==nPos) return j;
}
--
1.7.4.1
--=-6G43yADqE3q/1jXSiSuf--
More information about the LibreOffice
mailing list