summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Power <noel.power@novell.com>2012-05-04 12:32:46 +0100
committerNoel Power <noel.power@novell.com>2012-05-04 12:36:00 +0100
commit76bab166e21bc3646ae2d3079aae2c5d9ce0d1e5 (patch)
treed5e30abdca6cd3b08c79960eaa471d896c534266
parente3ef482153bd1620c93019a413a18665ef0ebb98 (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.hxx1
-rw-r--r--oox/source/vml/vmldrawing.cxx2
-rw-r--r--oox/source/vml/vmlshape.cxx2
-rw-r--r--sc/source/filter/oox/drawingfragment.cxx12
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
{