[Libreoffice-commits] .: sfx2/inc sfx2/source

Joseph Powers jpowers at kemper.freedesktop.org
Sat Jan 1 08:09:58 PST 2011


 sfx2/inc/sfx2/evntconf.hxx      |   23 +++++++++++++++++------
 sfx2/source/config/evntconf.cxx |   30 +++++++++++++-----------------
 2 files changed, 30 insertions(+), 23 deletions(-)

New commits:
commit adc8970cc7fbcf8362c98f062ac1cce7f21707e4
Author: Joseph Powers <jpowers27 at cox.net>
Date:   Sat Jan 1 07:54:12 2011 -0800

    Remove DECLARE_LIST( _SfxEventNamesList, SfxEventName* )

diff --git a/sfx2/inc/sfx2/evntconf.hxx b/sfx2/inc/sfx2/evntconf.hxx
index ddca0c0..b1e2f3b 100644
--- a/sfx2/inc/sfx2/evntconf.hxx
+++ b/sfx2/inc/sfx2/evntconf.hxx
@@ -2,7 +2,7 @@
 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2000, 2010 Oracle and/or its affiliates.
  *
  * OpenOffice.org - a multi-platform office productivity suite
@@ -45,6 +45,7 @@
 #endif
 #define ITEMID_MACRO SID_ATTR_MACROITEM
 #include <svl/macitem.hxx>
+#include <vector>
 
 class SfxMacroInfo;
 class SfxMacroInfoArr_Impl;
@@ -69,16 +70,26 @@ struct SFX2_DLLPUBLIC SfxEventName
                 , maUIName( rUIName ) {}
 };
 
-DECLARE_LIST( _SfxEventNamesList, SfxEventName* )
+typedef ::std::vector< SfxEventName* > _SfxEventNamesList;
 
-class SFX2_DLLPUBLIC SfxEventNamesList : public _SfxEventNamesList
+class SFX2_DLLPUBLIC SfxEventNamesList
 {
+private:
+    _SfxEventNamesList  aEventNamesList;
+    void DelDtor();
+
 public:
-    SfxEventNamesList( const USHORT nInitSz = 0, const USHORT nReSz = 1 ): _SfxEventNamesList( nInitSz, nReSz ) {}
-    SfxEventNamesList( const SfxEventNamesList &rCpy ) : _SfxEventNamesList() { *this = rCpy; }
+    SfxEventNamesList() {}
+    SfxEventNamesList( const SfxEventNamesList &rCpy ) { *this = rCpy; }
     ~SfxEventNamesList() { DelDtor(); }
     SfxEventNamesList& operator=( const SfxEventNamesList &rCpy );
-    void DelDtor();
+
+    size_t size() const { return aEventNamesList.size(); };
+
+    SfxEventName* at( size_t Index ) const
+        { return Index < aEventNamesList.size() ? aEventNamesList[ Index ] : NULL; }
+
+    void push_back( SfxEventName* Item ) { aEventNamesList.push_back( Item ); }
 };
 
 class SFX2_DLLPUBLIC SfxEventNamesItem : public SfxPoolItem
diff --git a/sfx2/source/config/evntconf.cxx b/sfx2/source/config/evntconf.cxx
index 1944e94..7e72588 100644
--- a/sfx2/source/config/evntconf.cxx
+++ b/sfx2/source/config/evntconf.cxx
@@ -2,7 +2,7 @@
 /*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
+ *
  * Copyright 2000, 2010 Oracle and/or its affiliates.
  *
  * OpenOffice.org - a multi-platform office productivity suite
@@ -73,24 +73,20 @@ using namespace com::sun::star;
 SfxEventNamesList& SfxEventNamesList::operator=( const SfxEventNamesList& rTbl )
 {
     DelDtor();
-    for (USHORT n=0; n<rTbl.Count(); n++ )
+    for ( size_t i = 0, n = rTbl.size(); i < n; ++i )
     {
-        SfxEventName* pTmp = ((SfxEventNamesList&)rTbl).GetObject(n);
-        SfxEventName *pNew = new SfxEventName( *pTmp );
-        Insert( pNew, n );
+        SfxEventName* pTmp = rTbl.at( i );
+        SfxEventName* pNew = new SfxEventName( *pTmp );
+        aEventNamesList.push_back( pNew );
     }
     return *this;
 }
 
 void SfxEventNamesList::DelDtor()
 {
-    SfxEventName* pTmp = First();
-    while( pTmp )
-    {
-        delete pTmp;
-        pTmp = Next();
-    }
-    Clear();
+    for ( size_t i = 0, n = aEventNamesList.size(); i < n; ++i )
+        delete aEventNamesList[ i ];
+    aEventNamesList.clear();
 }
 
 int SfxEventNamesItem::operator==( const SfxPoolItem& rAttr ) const
@@ -100,13 +96,13 @@ int SfxEventNamesItem::operator==( const SfxPoolItem& rAttr ) const
     const SfxEventNamesList& rOwn = aEventsList;
     const SfxEventNamesList& rOther = ( (SfxEventNamesItem&) rAttr ).aEventsList;
 
-    if ( rOwn.Count() != rOther.Count() )
+    if ( rOwn.size() != rOther.size() )
         return FALSE;
 
-    for ( USHORT nNo = 0; nNo < rOwn.Count(); ++nNo )
+    for ( size_t nNo = 0, nCnt = rOwn.size(); nNo < nCnt; ++nNo )
     {
-        const SfxEventName *pOwn = rOwn.GetObject(nNo);
-        const SfxEventName *pOther = rOther.GetObject(nNo);
+        const SfxEventName *pOwn = rOwn.at( nNo );
+        const SfxEventName *pOther = rOther.at( nNo );
         if ( 	pOwn->mnId != pOther->mnId ||
                 pOwn->maEventName != pOther->maEventName ||
                 pOwn->maUIName != pOther->maUIName )
@@ -152,7 +148,7 @@ USHORT SfxEventNamesItem::GetVersion( USHORT ) const
 
 void SfxEventNamesItem::AddEvent( const String& rName, const String& rUIName, USHORT nID )
 {
-    aEventsList.Insert( new SfxEventName( nID, rName, rUIName.Len() ? rUIName : rName ) );
+    aEventsList.push_back( new SfxEventName( nID, rName, rUIName.Len() ? rUIName : rName ) );
 }
 
 


More information about the Libreoffice-commits mailing list