summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorJoseph Powers <jpowers27@cox.net>2011-06-16 07:33:30 -0700
committerJoseph Powers <jpowers27@cox.net>2011-06-16 07:33:39 -0700
commitbda04eda132be47ca9de97faec9c2de3348fec2f (patch)
tree182c87d2ee3977786a1e500972ca58d1f8dfc5fd /filter
parent4018095024104c83cdbd7c9ddec266e2442c659b (diff)
Convert List to std::vector< EscherShapeListEntry* >
Diffstat (limited to 'filter')
-rw-r--r--filter/inc/filter/msfilter/escherex.hxx5
-rw-r--r--filter/source/msfilter/escherex.cxx23
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 );
}