From c2c7e4d8d99483f74a7aa357de89240eb83c99d3 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Fri, 6 Dec 2013 11:23:17 +0100 Subject: [PATCH] DOCX import: handle groupshapes inside wpg elements (groupshapes) Change-Id: Icb44f91219f75103f469f38f96d843b8e8251e92 --- oox/source/drawingml/shapegroupcontext.cxx | 8 ++++++++ oox/source/shape/WpgContext.cxx | 6 ++++++ sw/qa/extras/ooxmlimport/data/wpg-nested.docx | Bin 0 -> 34068 bytes sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 8 ++++++++ 4 files changed, 22 insertions(+) create mode 100755 sw/qa/extras/ooxmlimport/data/wpg-nested.docx diff --git a/oox/source/drawingml/shapegroupcontext.cxx b/oox/source/drawingml/shapegroupcontext.cxx index bae6d4c55015..10e419f7edf9 100644 --- a/oox/source/drawingml/shapegroupcontext.cxx +++ b/oox/source/drawingml/shapegroupcontext.cxx @@ -88,11 +88,19 @@ ContextHandlerRef ShapeGroupContext::onCreateContext( sal_Int32 aElementToken, c case XML_grpSp: // group shape return new ShapeGroupContext( *this, mpGroupShapePtr, ShapePtr( new Shape( "com.sun.star.drawing.GroupShape" ) ) ); case XML_sp: // shape + case XML_wsp: return new ShapeContext( *this, mpGroupShapePtr, ShapePtr( new Shape( "com.sun.star.drawing.CustomShape" ) ) ); case XML_pic: // CT_Picture return new GraphicShapeContext( *this, mpGroupShapePtr, ShapePtr( new Shape( "com.sun.star.drawing.GraphicObjectShape" ) ) ); case XML_graphicFrame: // CT_GraphicalObjectFrame return new GraphicalObjectFrameContext( *this, mpGroupShapePtr, ShapePtr( new Shape( "com.sun.star.drawing.GraphicObjectShape" ) ), true ); + case XML_cNvGrpSpPr: + break; + case XML_grpSpLocks: + break; + default: + SAL_WARN("oox", "ShapeGroupContext::onCreateContext: unhandled element: " << getBaseToken(aElementToken)); + break; } return this; diff --git a/oox/source/shape/WpgContext.cxx b/oox/source/shape/WpgContext.cxx index f83fe75ced27..c8ca50508664 100644 --- a/oox/source/shape/WpgContext.cxx +++ b/oox/source/shape/WpgContext.cxx @@ -47,6 +47,12 @@ oox::core::ContextHandlerRef WpgContext::onCreateContext(sal_Int32 nElementToken return new oox::drawingml::ShapeContext(*this, mpShape, pShape); } break; + case XML_grpSp: + { + oox::drawingml::ShapePtr pShape(new oox::drawingml::Shape("com.sun.star.drawing.GroupShape")); + return new oox::drawingml::ShapeGroupContext(*this, mpShape, pShape); + } + break; default: SAL_WARN("oox", "WpgContext::createFastChildContext: unhandled element: " << getBaseToken(nElementToken)); break; diff --git a/sw/qa/extras/ooxmlimport/data/wpg-nested.docx b/sw/qa/extras/ooxmlimport/data/wpg-nested.docx new file mode 100755 index 0000000000000000000000000000000000000000..eba2aad0e76c5cdf42bb40b0ebd87b08c0af5ef3 GIT binary patch literal 34068 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%0DgA^h-XF z^H2HTOEx_fe_FWbmv}YzpW?rj@p&r!w7keKX-WP+rJoiXc?$6~jr$h_<;y=Ie$UW+ zD*iOL^Ov}+_@Cnc>bL(J&eH_7UpQluPjP-vS9_|@(>$tQI1W-zasESA)lySz7eKAj zpX&eZH1Vf6PvbAIAKh8$4Ff`?W=w{t5LL zg78$8r_qXE^2`=bRrwXWc#87WA@U0a!{P5yp14Pz0{(tlkCf-v=I#Cz@NdrVKR=Ov g0nvN@3H0>&B=;5?s8RG7yukxg23keHj$mN_4-<@yegFUf literal 0 HcmV?d00001 diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index 2b271a32a375..24ffb76f5f49 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -1555,6 +1555,14 @@ DECLARE_OOXMLIMPORT_TEST(testWpgOnly, "wpg-only.docx") CPPUNIT_ASSERT_EQUAL(sal_Int32(EMU_TO_MM100(548005)), xShape->getPosition().X); } +DECLARE_OOXMLIMPORT_TEST(testWpgNested, "wpg-nested.docx") +{ + uno::Reference xGroup(getShape(1), uno::UNO_QUERY); + uno::Reference xShapeDescriptor(xGroup->getByIndex(0), uno::UNO_QUERY); + // This was a com.sun.star.drawing.CustomShape, due to lack of handling of groupshapes inside groupshapes. + CPPUNIT_ASSERT_EQUAL(OUString("com.sun.star.drawing.GroupShape"), xShapeDescriptor->getShapeType()); +} + DECLARE_OOXMLIMPORT_TEST(textboxWpgOnly, "textbox-wpg-only.docx") { uno::Reference xShape = getShape(1);