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.rumianowski@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.rumianowski@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
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.