diff options
author | Noel Power <noel.power@novell.com> | 2012-05-04 12:32:46 +0100 |
---|---|---|
committer | Noel Power <noel.power@novell.com> | 2012-05-04 12:36:00 +0100 |
commit | 76bab166e21bc3646ae2d3079aae2c5d9ce0d1e5 (patch) | |
tree | d5e30abdca6cd3b08c79960eaa471d896c534266 | |
parent | e3ef482153bd1620c93019a413a18665ef0ebb98 (diff) |
reorganise code a little so ole controls are catered for wrt fdo#49430
Change-Id: Ifb2c0a97f85884c459b1e7bc4616154c0e4aea2a
-rw-r--r-- | oox/inc/oox/vml/vmldrawing.hxx | 1 | ||||
-rw-r--r-- | oox/source/vml/vmldrawing.cxx | 2 | ||||
-rw-r--r-- | oox/source/vml/vmlshape.cxx | 2 | ||||
-rw-r--r-- | sc/source/filter/oox/drawingfragment.cxx | 12 |
4 files changed, 9 insertions, 8 deletions
diff --git a/oox/inc/oox/vml/vmldrawing.hxx b/oox/inc/oox/vml/vmldrawing.hxx index b9b626e10b83..4a0cf5021bab 100644 --- a/oox/inc/oox/vml/vmldrawing.hxx +++ b/oox/inc/oox/vml/vmldrawing.hxx @@ -157,6 +157,7 @@ public: model into the form, and the shape into the passed UNO shape container. */ ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > createAndInsertXControlShape( + const ClientData* pClientData, const ::oox::ole::EmbeddedControl& rControl, const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& rxShapes, const ::com::sun::star::awt::Rectangle& rShapeRect, diff --git a/oox/source/vml/vmldrawing.cxx b/oox/source/vml/vmldrawing.cxx index 1a3530db9449..5a6d76db0f8f 100644 --- a/oox/source/vml/vmldrawing.cxx +++ b/oox/source/vml/vmldrawing.cxx @@ -247,7 +247,7 @@ Reference< XShape > Drawing::createAndInsertXShape( const OUString& rService, return xShape; } -Reference< XShape > Drawing::createAndInsertXControlShape( const ::oox::ole::EmbeddedControl& rControl, +Reference< XShape > Drawing::createAndInsertXControlShape( const ClientData* pClientData, const ::oox::ole::EmbeddedControl& rControl, const Reference< XShapes >& rxShapes, const Rectangle& rShapeRect, sal_Int32& rnCtrlIndex ) const { Reference< XShape > xShape; diff --git a/oox/source/vml/vmlshape.cxx b/oox/source/vml/vmlshape.cxx index 4000932ca127..92a45385af04 100644 --- a/oox/source/vml/vmlshape.cxx +++ b/oox/source/vml/vmlshape.cxx @@ -557,7 +557,7 @@ Reference< XShape > ComplexShape::implConvertAndInsert( const Reference< XShapes { // create and return the control shape (including control model) sal_Int32 nCtrlIndex = -1; - Reference< XShape > xShape = mrDrawing.createAndInsertXControlShape( aControl, rxShapes, rShapeRect, nCtrlIndex ); + Reference< XShape > xShape = mrDrawing.createAndInsertXControlShape( *this, aControl, rxShapes, rShapeRect, nCtrlIndex ); // on error, proceed and try to create picture from replacement image if( xShape.is() ) return xShape; diff --git a/sc/source/filter/oox/drawingfragment.cxx b/sc/source/filter/oox/drawingfragment.cxx index 012c9a19a3d0..977c8debbd35 100644 --- a/sc/source/filter/oox/drawingfragment.cxx +++ b/sc/source/filter/oox/drawingfragment.cxx @@ -614,12 +614,6 @@ Reference< XShape > VmlDrawing::createAndInsertClientXShape( const ::oox::vml::S getBaseFilter().getVbaProject().registerMacroAttacher( xAttacher ); } } - if ( !pClientData->maAnchor.isEmpty() ) - { - ShapeAnchor aAnchor( *this ); - aAnchor.importVmlAnchor( pClientData->maAnchor ); - aAnchor.applyToXShape( xShape ); - } return xShape; } } @@ -637,6 +631,12 @@ void VmlDrawing::notifyXShapeInserted( const Reference< XShape >& rxShape, // convert settings from VML client data if( const ::oox::vml::ClientData* pClientData = rShape.getClientData() ) { + if ( !pClientData->maAnchor.isEmpty() ) + { + ShapeAnchor aAnchor( *this ); + aAnchor.importVmlAnchor( pClientData->maAnchor ); + aAnchor.applyToXShape( rxShape ); + } // specific settings for embedded form controls try { |