Hi, I'm sending a Patch which converts SvULongs to std::vector < sal_uLong >.
> I would like to add a constructor > SfxIntegerListItem::SfxIntegerListItem( const ::com::sun::star::uno::Sequence > < sal_Int32 > rList ), because DataPointItemConverter and > SeriesOptionsItemConverter are copying from Sequence to SvULongs and then in > SfxIntegerListItem SvLongs is copied to Sequence. As I wrote before I have added a constructor to SfxIntegerListItem, is it okay? Best Regards, Maciej
>From 6af35271b8738116393900ba349354d1f3f0bf1b Mon Sep 17 00:00:00 2001 From: Maciej Rumianowski <maciej.rumianow...@gmail.com> Date: Sun, 17 Jul 2011 23:24:45 +0200 Subject: [PATCH] Get rid of SvULongs in calc Instead of SvULongs use ::std::vector < sal_uLong > --- .../itemsetwrapper/DataPointItemConverter.cxx | 6 +++--- .../itemsetwrapper/SeriesOptionsItemConverter.cxx | 6 +++--- chart2/source/view/main/ChartItemPool.cxx | 5 ++--- sc/source/ui/docshell/impex.cxx | 11 +++++------ sc/source/ui/view/tabvwsh3.cxx | 8 ++++---- 5 files changed, 17 insertions(+), 19 deletions(-) diff --git a/chart2/source/controller/itemsetwrapper/DataPointItemConverter.cxx b/chart2/source/controller/itemsetwrapper/DataPointItemConverter.cxx index 3802ffc..fb1c5f8 100644 --- a/chart2/source/controller/itemsetwrapper/DataPointItemConverter.cxx +++ b/chart2/source/controller/itemsetwrapper/DataPointItemConverter.cxx @@ -641,10 +641,10 @@ void DataPointItemConverter::FillSpecialItem( case SCHATTR_DATADESCR_AVAILABLE_PLACEMENTS: { - SvULongs aList; + /*SvULongs aList; for ( sal_Int32 nN=0; nN<m_aAvailableLabelPlacements.getLength(); nN++ ) - aList.Insert( m_aAvailableLabelPlacements[nN], sal::static_int_cast< sal_uInt16 >(nN) ); - rOutItemSet.Put( SfxIntegerListItem( nWhichId, aList ) ); + aList.Insert( m_aAvailableLabelPlacements[nN], sal::static_int_cast< sal_uInt16 >(nN) );*/ + rOutItemSet.Put( SfxIntegerListItem( nWhichId, m_aAvailableLabelPlacements ) ); } break; diff --git a/chart2/source/controller/itemsetwrapper/SeriesOptionsItemConverter.cxx b/chart2/source/controller/itemsetwrapper/SeriesOptionsItemConverter.cxx index a199b66..dd844c6 100644 --- a/chart2/source/controller/itemsetwrapper/SeriesOptionsItemConverter.cxx +++ b/chart2/source/controller/itemsetwrapper/SeriesOptionsItemConverter.cxx @@ -433,10 +433,10 @@ void SeriesOptionsItemConverter::FillSpecialItem( } case SCHATTR_AVAILABLE_MISSING_VALUE_TREATMENTS: { - SvULongs aList; + /*SvULongs aList; for ( sal_Int32 nN=0; nN<m_aSupportedMissingValueTreatments.getLength(); nN++ ) - aList.Insert( m_aSupportedMissingValueTreatments[nN], sal::static_int_cast< sal_uInt16 >(nN) ); - rOutItemSet.Put( SfxIntegerListItem( nWhichId, aList ) ); + aList.Insert( m_aSupportedMissingValueTreatments[nN], sal::static_int_cast< sal_uInt16 >(nN) );*/ + rOutItemSet.Put( SfxIntegerListItem( nWhichId, m_aSupportedMissingValueTreatments ) ); break; } case SCHATTR_INCLUDE_HIDDEN_CELLS: diff --git a/chart2/source/view/main/ChartItemPool.cxx b/chart2/source/view/main/ChartItemPool.cxx index 2cdac8f..da10db9 100644 --- a/chart2/source/view/main/ChartItemPool.cxx +++ b/chart2/source/view/main/ChartItemPool.cxx @@ -63,8 +63,7 @@ ChartItemPool::ChartItemPool(): ppPoolDefaults[SCHATTR_DATADESCR_SHOW_SYMBOL - SCHATTR_START] = new SfxBoolItem(SCHATTR_DATADESCR_SHOW_SYMBOL); ppPoolDefaults[SCHATTR_DATADESCR_SEPARATOR - SCHATTR_START] = new SfxStringItem(SCHATTR_DATADESCR_SEPARATOR,C2U(" ")); ppPoolDefaults[SCHATTR_DATADESCR_PLACEMENT - SCHATTR_START] = new SfxInt32Item(SCHATTR_DATADESCR_PLACEMENT,0); - SvULongs aTmp; - ppPoolDefaults[SCHATTR_DATADESCR_AVAILABLE_PLACEMENTS - SCHATTR_START] = new SfxIntegerListItem(SCHATTR_DATADESCR_AVAILABLE_PLACEMENTS,aTmp); + ppPoolDefaults[SCHATTR_DATADESCR_AVAILABLE_PLACEMENTS - SCHATTR_START] = new SfxIntegerListItem(SCHATTR_DATADESCR_AVAILABLE_PLACEMENTS, ::std::vector < sal_uLong >() ); ppPoolDefaults[SCHATTR_DATADESCR_NO_PERCENTVALUE - SCHATTR_START] = new SfxBoolItem(SCHATTR_DATADESCR_NO_PERCENTVALUE); ppPoolDefaults[SCHATTR_PERCENT_NUMBERFORMAT_VALUE - SCHATTR_START] = new SfxUInt32Item(SCHATTR_PERCENT_NUMBERFORMAT_VALUE, 0); ppPoolDefaults[SCHATTR_PERCENT_NUMBERFORMAT_SOURCE - SCHATTR_START] = new SfxBoolItem(SCHATTR_PERCENT_NUMBERFORMAT_SOURCE); @@ -157,7 +156,7 @@ ChartItemPool::ChartItemPool(): ppPoolDefaults[SCHATTR_CLOCKWISE - SCHATTR_START] = new SfxBoolItem( SCHATTR_CLOCKWISE, sal_False ); ppPoolDefaults[SCHATTR_MISSING_VALUE_TREATMENT - SCHATTR_START] = new SfxInt32Item(SCHATTR_MISSING_VALUE_TREATMENT, 0); - ppPoolDefaults[SCHATTR_AVAILABLE_MISSING_VALUE_TREATMENTS - SCHATTR_START] = new SfxIntegerListItem(SCHATTR_AVAILABLE_MISSING_VALUE_TREATMENTS,aTmp); + ppPoolDefaults[SCHATTR_AVAILABLE_MISSING_VALUE_TREATMENTS - SCHATTR_START] = new SfxIntegerListItem(SCHATTR_AVAILABLE_MISSING_VALUE_TREATMENTS, ::std::vector < sal_uLong >() ); ppPoolDefaults[SCHATTR_INCLUDE_HIDDEN_CELLS - SCHATTR_START] = new SfxBoolItem(SCHATTR_INCLUDE_HIDDEN_CELLS, sal_True); ppPoolDefaults[SCHATTR_AXIS_FOR_ALL_SERIES - SCHATTR_START] = new SfxInt32Item(SCHATTR_AXIS_FOR_ALL_SERIES, 0); diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx index 7b0e30d..06fa392 100644 --- a/sc/source/ui/docshell/impex.cxx +++ b/sc/source/ui/docshell/impex.cxx @@ -49,8 +49,6 @@ class StarBASIC; #include <rtl/math.hxx> #include <svtools/htmlout.hxx> #include <svl/zforlist.hxx> -#define _SVSTDARR_ULONGS -#include <svl/svstdarr.hxx> #include <sot/formats.hxx> #include <sfx2/mieclip.hxx> #include <unotools/charclass.hxx> @@ -58,6 +56,7 @@ class StarBASIC; #include <unotools/calendarwrapper.hxx> #include <com/sun/star/i18n/CalendarFieldIndex.hpp> #include <unotools/transliterationwrapper.hxx> +#include <vector> #include "global.hxx" #include "scerrors.hxx" @@ -1544,7 +1543,7 @@ sal_Bool ScImportExport::Sylk2Doc( SvStream& rStrm ) SCROW nEndRow = aRange.aEnd.Row(); sal_uLong nOldPos = rStrm.Tell(); sal_Bool bData = sal_Bool( !bSingle ); - SvULongs aFormats; + std::vector< sal_uLong > aFormats; if( !bSingle) bOk = StartPaste(); @@ -1730,9 +1729,9 @@ sal_Bool ScImportExport::Sylk2Doc( SvStream& rStrm ) if( nCol > nEndCol ) nEndCol = nCol; } - if ( 0 <= nFormat && nFormat < aFormats.Count() ) + if ( 0 <= nFormat && nFormat < (sal_Int32)aFormats.size() ) { - sal_uLong nKey = aFormats[(sal_uInt16)nFormat]; + sal_uLong nKey = aFormats[nFormat]; pDoc->ApplyAttr( nCol, nRow, aRange.aStart.Tab(), SfxUInt32Item( ATTR_VALUE_FORMAT, nKey ) ); } @@ -1759,7 +1758,7 @@ sal_Bool ScImportExport::Sylk2Doc( SvStream& rStrm ) ScGlobal::eLnge ); if ( nCheckPos ) nKey = 0; - aFormats.Insert( nKey, aFormats.Count() ); + aFormats.push_back( nKey ); } } else if( cTag == 'I' && *p == 'D' ) diff --git a/sc/source/ui/view/tabvwsh3.cxx b/sc/source/ui/view/tabvwsh3.cxx index 270542c..1efecc8 100644 --- a/sc/source/ui/view/tabvwsh3.cxx +++ b/sc/source/ui/view/tabvwsh3.cxx @@ -810,7 +810,7 @@ void ScTabViewShell::Execute( SfxRequest& rReq ) SCTAB nTabCount = rDoc.GetTableCount(); SCTAB nTab; - SvULongs aIndexList( 4, 4 ); + ::std::vector < sal_uLong > aIndexList( 4, 4 ); SFX_REQUEST_ARG( rReq, pItem, SfxIntegerListItem, SID_SELECT_TABLES, false ); if ( pItem ) pItem->GetList( aIndexList ); @@ -839,7 +839,7 @@ void ScTabViewShell::Execute( SfxRequest& rReq ) sal_uInt16 nSelCount = pDlg->GetSelectEntryCount(); sal_uInt16 nSelIx; for( nSelIx = 0; nSelIx < nSelCount; ++nSelIx ) - aIndexList.Insert( pDlg->GetSelectEntryPos( nSelIx ), nSelIx ); + aIndexList.insert( aIndexList.begin()+nSelIx, pDlg->GetSelectEntryPos( nSelIx ) ); delete pDlg; rReq.AppendItem( SfxIntegerListItem( SID_SELECT_TABLES, aIndexList ) ); } @@ -847,9 +847,9 @@ void ScTabViewShell::Execute( SfxRequest& rReq ) rReq.Ignore(); } - if ( aIndexList.Count() ) + if ( aIndexList.size() ) { - sal_uInt16 nSelCount = aIndexList.Count(); + sal_uInt16 nSelCount = aIndexList.size(); sal_uInt16 nSelIx; SCTAB nFirstVisTab = 0; -- 1.7.4.1
>From 20b3f6552d8a60717eaac42622298a510fe220fa Mon Sep 17 00:00:00 2001 From: Maciej Rumianowski <maciej.rumianow...@gmail.com> Date: Sun, 17 Jul 2011 23:49:10 +0200 Subject: [PATCH] Port SfxIntegerListItem to SvULongs For calc to be free of SvULongs SfxIntegerListItem has to use SvULongs. Additionaly a constructor with Sequence used in calc. --- svl/inc/svl/ilstitem.hxx | 8 ++++---- svl/source/items/ilstitem.cxx | 25 ++++++++++++++++--------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/svl/inc/svl/ilstitem.hxx b/svl/inc/svl/ilstitem.hxx index 286edf2..46586e9 100644 --- a/svl/inc/svl/ilstitem.hxx +++ b/svl/inc/svl/ilstitem.hxx @@ -32,8 +32,7 @@ #include "svl/svldllapi.h" #include <svl/poolitem.hxx> #include <com/sun/star/uno/Sequence.hxx> - -class SvULongs; +#include <vector> class SVL_DLLPUBLIC SfxIntegerListItem : public SfxPoolItem { @@ -43,7 +42,8 @@ public: TYPEINFO(); SfxIntegerListItem(); - SfxIntegerListItem( sal_uInt16 nWhich, const SvULongs& rList ); + SfxIntegerListItem( sal_uInt16 nWhich, const ::std::vector < sal_uLong >& rList ); + SfxIntegerListItem( sal_uInt16 nWhich, const ::com::sun::star::uno::Sequence < sal_Int32 >& rList ); SfxIntegerListItem( const SfxIntegerListItem& rItem ); ~SfxIntegerListItem(); @@ -52,7 +52,7 @@ public: ::com::sun::star::uno::Sequence < sal_Int32 > GetConstSequence() const { return SAL_CONST_CAST(SfxIntegerListItem *, this)->GetSequence(); } - void GetList( SvULongs& rList ) const; + void GetList( ::std::vector < sal_uLong >& rList ) const; virtual int operator==( const SfxPoolItem& ) const; virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; diff --git a/svl/source/items/ilstitem.cxx b/svl/source/items/ilstitem.cxx index 1a897a8..0111bb8 100644 --- a/svl/source/items/ilstitem.cxx +++ b/svl/source/items/ilstitem.cxx @@ -35,20 +35,25 @@ #include <svl/ilstitem.hxx> -#define _SVSTDARR_ULONGS -#include <svl/svstdarr.hxx> - TYPEINIT1_AUTOFACTORY(SfxIntegerListItem, SfxPoolItem); SfxIntegerListItem::SfxIntegerListItem() { } -SfxIntegerListItem::SfxIntegerListItem( sal_uInt16 which, const SvULongs& rList ) +SfxIntegerListItem::SfxIntegerListItem( sal_uInt16 which, const ::std::vector < sal_uLong >& rList ) + : SfxPoolItem( which ) +{ + m_aList.realloc( rList.size() ); + for ( sal_uInt16 n=0; n<rList.size(); n++ ) + m_aList[n] = rList[n]; +} + +SfxIntegerListItem::SfxIntegerListItem( sal_uInt16 which, const ::com::sun::star::uno::Sequence < sal_Int32 >& rList ) : SfxPoolItem( which ) { - m_aList.realloc( rList.Count() ); - for ( sal_uInt16 n=0; n<rList.Count(); n++ ) + m_aList.realloc( rList.getLength() ); + for ( sal_Int32 n=0; n<rList.getLength(); n++ ) m_aList[n] = rList[n]; } @@ -97,10 +102,12 @@ bool SfxIntegerListItem::QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 ) return true; } -void SfxIntegerListItem::GetList( SvULongs& rList ) const +void SfxIntegerListItem::GetList( ::std::vector< sal_uLong >& rList ) const { - for ( sal_Int32 n=0; n<m_aList.getLength(); n++ ) - rList.Insert( m_aList[n], sal::static_int_cast< sal_uInt16 >(n) ); + ::std::vector< sal_uLong >::iterator aIt = rList.begin(); + rList.reserve( m_aList.getLength() ); + for ( sal_Int32 n=0; n<m_aList.getLength(); n++, aIt++ ) + rList.insert( aIt, m_aList[n] ); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- 1.7.4.1
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice