Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


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.