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 <[email protected]>
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 <[email protected]>
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
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice