diff options
author | Joseph Powers <jpowers27@cox.net> | 2010-12-30 07:02:52 -0800 |
---|---|---|
committer | Joseph Powers <jpowers27@cox.net> | 2010-12-31 06:57:20 -0800 |
commit | 20f160082c72176f0771694fc0cbb89b78b1e1fb (patch) | |
tree | 72951e3475674b4f163ac23216abc182ea9d795c /idl | |
parent | 4c9bf4e47b00861b74ccc12497f925da2a5f7c41 (diff) |
Remove DECLARE_LIST( SvMetaClassList, SvMetaClass* )
Diffstat (limited to 'idl')
-rw-r--r-- | idl/inc/object.hxx | 8 | ||||
-rw-r--r-- | idl/source/objects/object.cxx | 34 |
2 files changed, 21 insertions, 21 deletions
diff --git a/idl/inc/object.hxx b/idl/inc/object.hxx index 129f888c35b6..ee8d88a2c418 100644 --- a/idl/inc/object.hxx +++ b/idl/inc/object.hxx @@ -32,6 +32,7 @@ #define _SVSTDARR_ULONGS #include <types.hxx> #include <slot.hxx> +#include <vector> struct SvSlotElement { @@ -43,8 +44,9 @@ struct SvSlotElement {} }; DECLARE_LIST( SvSlotElementList, SvSlotElement* ) + class SvMetaClass; -DECLARE_LIST( SvMetaClassList, SvMetaClass* ) +typedef ::std::vector< SvMetaClass* > SvMetaClassList; class SvULongs : public List { @@ -95,9 +97,6 @@ class SvMetaClass : public SvMetaType SvBOOL aAutomation; SvMetaClassRef xAutomationInterface; -// void FillSbxMemberObject( SvIdlDataBase & rBase, -// SbxObject *, StringList &, -// BOOL bVariable ); BOOL TestAttribute( SvIdlDataBase & rBase, SvTokenStream & rInStm, SvMetaAttribute & rAttr ) const; #ifdef IDL_COMPILER @@ -141,7 +140,6 @@ public: { return aSuperClass; } void FillClasses( SvMetaClassList & rList ); -// virtual void FillSbxObject( SvIdlDataBase & rBase, SbxObject * ); const SvClassElementMemberList& GetClassList() const diff --git a/idl/source/objects/object.cxx b/idl/source/objects/object.cxx index 1f29fef4a31e..cbe0371bc24b 100644 --- a/idl/source/objects/object.cxx +++ b/idl/source/objects/object.cxx @@ -565,10 +565,11 @@ void SvMetaClass::InsertSlots( SvSlotElementList& rList, SvULongs& rSuperList, const ByteString & rPrefix, SvIdlDataBase& rBase) { // Wurde diese Klasse schon geschrieben ? - if ( rClassList.GetPos(this) != LIST_ENTRY_NOTFOUND ) - return; + for ( size_t i = 0, n = rClassList.size(); i < n ; ++i ) + if ( rClassList[ i ] == this ) + return; - rClassList.Insert(this, LIST_APPEND); + rClassList.push_back( this ); // alle direkten Attribute schreiben ULONG n; @@ -630,22 +631,23 @@ void SvMetaClass::InsertSlots( SvSlotElementList& rList, SvULongs& rSuperList, void SvMetaClass::FillClasses( SvMetaClassList & rList ) { // Bin ich noch nicht drin ? - if ( rList.GetPos(this) == LIST_ENTRY_NOTFOUND ) - { - rList.Insert(this, LIST_APPEND); + for ( size_t i = 0, n = rList.size(); i < n; ++i ) + if ( rList[ i ] == this ) + return; - // Meine Imports - for( ULONG n = 0; n < aClassList.Count(); n++ ) - { - SvClassElement * pEle = aClassList.GetObject( n ); - SvMetaClass * pCl = pEle->GetClass(); - pCl->FillClasses( rList ); - } + rList.push_back( this ); - // Meine Superklasse - if( aSuperClass.Is() ) - aSuperClass->FillClasses( rList ); + // Meine Imports + for( ULONG n = 0; n < aClassList.Count(); n++ ) + { + SvClassElement * pEle = aClassList.GetObject( n ); + SvMetaClass * pCl = pEle->GetClass(); + pCl->FillClasses( rList ); } + + // Meine Superklasse + if( aSuperClass.Is() ) + aSuperClass->FillClasses( rList ); } |