diff options
author | Joseph Powers <jpowers27@cox.net> | 2011-06-16 07:33:30 -0700 |
---|---|---|
committer | Joseph Powers <jpowers27@cox.net> | 2011-06-16 07:33:39 -0700 |
commit | bda04eda132be47ca9de97faec9c2de3348fec2f (patch) | |
tree | 182c87d2ee3977786a1e500972ca58d1f8dfc5fd /filter | |
parent | 4018095024104c83cdbd7c9ddec266e2442c659b (diff) |
Convert List to std::vector< EscherShapeListEntry* >
Diffstat (limited to 'filter')
-rw-r--r-- | filter/inc/filter/msfilter/escherex.hxx | 5 | ||||
-rw-r--r-- | filter/source/msfilter/escherex.cxx | 23 |
2 files changed, 17 insertions, 11 deletions
diff --git a/filter/inc/filter/msfilter/escherex.hxx b/filter/inc/filter/msfilter/escherex.hxx index a516a937f739..32192eb64969 100644 --- a/filter/inc/filter/msfilter/escherex.hxx +++ b/filter/inc/filter/msfilter/escherex.hxx @@ -1114,9 +1114,12 @@ public: }; +class EscherShapeListEntry; +typedef ::std::vector< EscherShapeListEntry* > EscherShapeList_impl; + class MSFILTER_DLLPUBLIC EscherSolverContainer { - List maShapeList; + EscherShapeList_impl maShapeList; List maConnectorList; public: diff --git a/filter/source/msfilter/escherex.cxx b/filter/source/msfilter/escherex.cxx index 1af5e63e6034..92b9a7b91142 100644 --- a/filter/source/msfilter/escherex.cxx +++ b/filter/source/msfilter/escherex.cxx @@ -4142,31 +4142,34 @@ EscherSolverContainer::~EscherSolverContainer() { void* pP; - for( pP = maShapeList.First(); pP; pP = maShapeList.Next() ) - delete (EscherShapeListEntry*)pP; + for( size_t i = 0, n = maShapeList.size(); i < n; ++i ) { + delete maShapeList[ i ]; + } for( pP = maConnectorList.First(); pP; pP = maConnectorList.Next() ) delete (EscherConnectorListEntry*)pP; } void EscherSolverContainer::AddShape( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape, sal_uInt32 nId ) { - maShapeList.Insert( new EscherShapeListEntry( rXShape, nId ), LIST_APPEND ); + maShapeList.push_back( new EscherShapeListEntry( rXShape, nId ) ); } -void EscherSolverContainer::AddConnector( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rConnector, - const ::com::sun::star::awt::Point& rPA, - ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rConA, - const ::com::sun::star::awt::Point& rPB, - ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rConB ) +void EscherSolverContainer::AddConnector( + const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rConnector, + const ::com::sun::star::awt::Point& rPA, + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rConA, + const ::com::sun::star::awt::Point& rPB, + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rConB +) { maConnectorList.Insert( new EscherConnectorListEntry( rConnector, rPA, rConA, rPB, rConB ), LIST_APPEND ); } sal_uInt32 EscherSolverContainer::GetShapeId( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape ) const { - for ( EscherShapeListEntry* pPtr = (EscherShapeListEntry*)((List&)maShapeList).First(); - pPtr; pPtr = (EscherShapeListEntry*)((List&)maShapeList).Next() ) + for ( size_t i = 0, n = maShapeList.size(); i < n; ++i ) { + EscherShapeListEntry* pPtr = maShapeList[ i ]; if ( rXShape == pPtr->aXShape ) return ( pPtr->n_EscherId ); } |