bnc#798309 inherit group style from parent
Change-Id: Ie4f1d244f1c9b4935305742d12cabaee3e38647c
This commit is contained in:
parent
856756ec77
commit
1dbd088e4f
8 changed files with 23 additions and 13 deletions
|
@ -149,6 +149,7 @@ public:
|
|||
const Theme* pTheme,
|
||||
const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& rxShapes,
|
||||
basegfx::B2DHomMatrix& aTransformation,
|
||||
FillProperties& rShapeOrParentShapeFillProps,
|
||||
const ::com::sun::star::awt::Rectangle* pShapeRect = 0,
|
||||
ShapeIdMap* pShapeMap = 0 );
|
||||
|
||||
|
@ -183,7 +184,9 @@ protected:
|
|||
const ::com::sun::star::awt::Rectangle* pShapeRect,
|
||||
sal_Bool bClearText,
|
||||
sal_Bool bDoNotInsertEmptyTextBody,
|
||||
basegfx::B2DHomMatrix& aTransformation );
|
||||
basegfx::B2DHomMatrix& aTransformation,
|
||||
FillProperties& rShapeOrParentShapeFillProps
|
||||
);
|
||||
|
||||
void addChildren(
|
||||
::oox::core::XmlFilterBase& rFilterBase,
|
||||
|
|
|
@ -215,7 +215,7 @@ void ChartDrawingFragment::onEndElement()
|
|||
getLimitedValue< sal_Int32, sal_Int64 >( aShapeRectEmu.Width, 0, SAL_MAX_INT32 ),
|
||||
getLimitedValue< sal_Int32, sal_Int64 >( aShapeRectEmu.Height, 0, SAL_MAX_INT32 ) );
|
||||
basegfx::B2DHomMatrix aMatrix;
|
||||
mxShape->addShape( getFilter(), getFilter().getCurrentTheme(), mxDrawPage, aMatrix, &aShapeRectEmu32 );
|
||||
mxShape->addShape( getFilter(), getFilter().getCurrentTheme(), mxDrawPage, aMatrix, mxShape->getFillProperties(), &aShapeRectEmu32 );
|
||||
}
|
||||
}
|
||||
mxShape.reset();
|
||||
|
|
|
@ -193,6 +193,7 @@ void Shape::addShape(
|
|||
const Theme* pTheme,
|
||||
const Reference< XShapes >& rxShapes,
|
||||
basegfx::B2DHomMatrix& aTransformation,
|
||||
FillProperties& rShapeOrParentShapeFillProps,
|
||||
const awt::Rectangle* pShapeRect,
|
||||
ShapeIdMap* pShapeMap )
|
||||
{
|
||||
|
@ -204,7 +205,7 @@ void Shape::addShape(
|
|||
if( !sServiceName.isEmpty() )
|
||||
{
|
||||
basegfx::B2DHomMatrix aMatrix( aTransformation );
|
||||
Reference< XShape > xShape( createAndInsert( rFilterBase, sServiceName, pTheme, rxShapes, pShapeRect, sal_False, sal_False, aMatrix ) );
|
||||
Reference< XShape > xShape( createAndInsert( rFilterBase, sServiceName, pTheme, rxShapes, pShapeRect, sal_False, sal_False, aMatrix, rShapeOrParentShapeFillProps ) );
|
||||
|
||||
if( pShapeMap && !msId.isEmpty() )
|
||||
{
|
||||
|
@ -309,7 +310,7 @@ void Shape::addChildren(
|
|||
std::vector< ShapePtr >::iterator aIter( rMaster.maChildren.begin() );
|
||||
while( aIter != rMaster.maChildren.end() ) {
|
||||
(*aIter)->setMasterTextListStyle( mpMasterTextListStyle );
|
||||
(*aIter++)->addShape( rFilterBase, pTheme, rxShapes, aChildTransformation, NULL, pShapeMap );
|
||||
(*aIter++)->addShape( rFilterBase, pTheme, rxShapes, aChildTransformation, getFillProperties(), NULL, pShapeMap );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -321,7 +322,8 @@ Reference< XShape > Shape::createAndInsert(
|
|||
const awt::Rectangle* /* pShapeRect */,
|
||||
sal_Bool bClearText,
|
||||
sal_Bool bDoNotInsertEmptyTextBody,
|
||||
basegfx::B2DHomMatrix& aParentTransformation )
|
||||
basegfx::B2DHomMatrix& aParentTransformation,
|
||||
FillProperties& rShapeOrParentShapeFillProps )
|
||||
{
|
||||
bool bIsEmbMedia = false;
|
||||
SAL_INFO("oox", OSL_THIS_FUNC << " id: " << msId);
|
||||
|
@ -516,7 +518,12 @@ Reference< XShape > Shape::createAndInsert(
|
|||
}
|
||||
|
||||
aLineProperties.assignUsed( getLineProperties() );
|
||||
aFillProperties.assignUsed( getFillProperties() );
|
||||
|
||||
// group fill inherits from parent
|
||||
if ( getFillProperties().moFillType.has() && getFillProperties().moFillType.get() == XML_grpFill )
|
||||
aFillProperties.assignUsed( rShapeOrParentShapeFillProps );
|
||||
else
|
||||
aFillProperties.assignUsed( getFillProperties() );
|
||||
aEffectProperties.assignUsed ( getEffectProperties() );
|
||||
|
||||
ShapePropertyMap aShapeProps( rFilterBase.getModelObjectHelper() );
|
||||
|
|
|
@ -78,7 +78,7 @@ bool QuickDiagrammingImport::importDocument() throw()
|
|||
pShape->addShape( *this,
|
||||
pTheme.get(),
|
||||
xParentShape,
|
||||
aMatrix );
|
||||
aMatrix, pShape->getFillProperties() );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -328,7 +328,7 @@ void PPTShape::addShape(
|
|||
} else
|
||||
setMasterTextListStyle( aMasterTextListStyle );
|
||||
|
||||
Reference< XShape > xShape( createAndInsert( rFilterBase, sServiceName, pTheme, rxShapes, pShapeRect, bClearText, mpPlaceholder.get() != NULL, aTransformation ) );
|
||||
Reference< XShape > xShape( createAndInsert( rFilterBase, sServiceName, pTheme, rxShapes, pShapeRect, bClearText, mpPlaceholder.get() != NULL, aTransformation, getFillProperties() ) );
|
||||
if ( !rSlidePersist.isMasterPage() && rSlidePersist.getPage().is() && ( (sal_Int32)mnSubType == XML_title ) )
|
||||
{
|
||||
try
|
||||
|
|
|
@ -136,7 +136,7 @@ void SlidePersist::createXShapes( XmlFilterBase& rFilterBase )
|
|||
if ( pPPTShape )
|
||||
pPPTShape->addShape( rFilterBase, *this, getTheme().get(), xShapes, aTransformation, 0, &getShapeMap() );
|
||||
else
|
||||
(*aChildIter)->addShape( rFilterBase, getTheme().get(), xShapes, aTransformation, 0, &getShapeMap() );
|
||||
(*aChildIter)->addShape( rFilterBase, getTheme().get(), xShapes, aTransformation, maShapesPtr->getFillProperties(), 0, &getShapeMap() );
|
||||
aChildIter++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -290,7 +290,7 @@ ShapeContextHandler::getShape() throw (uno::RuntimeException)
|
|||
basegfx::B2DHomMatrix aMatrix;
|
||||
if (mpShape->getExtDrawings().size() == 0)
|
||||
{
|
||||
mpShape->addShape( *mxFilterBase, mpThemePtr.get(), xShapes, aMatrix );
|
||||
mpShape->addShape( *mxFilterBase, mpThemePtr.get(), xShapes, aMatrix, mpShape->getFillProperties() );
|
||||
xResult = mpShape->getXShape();
|
||||
}
|
||||
else
|
||||
|
@ -302,7 +302,7 @@ ShapeContextHandler::getShape() throw (uno::RuntimeException)
|
|||
OUString aFragmentPath(pDiagramGraphicDataContext->getFragmentPathFromRelId(*aIt));
|
||||
oox::drawingml::ShapePtr pShapePtr( new Shape( "com.sun.star.drawing.GroupShape" ) );
|
||||
mxFilterBase->importFragment(new ShapeDrawingFragmentHandler(*mxFilterBase, aFragmentPath, pShapePtr));
|
||||
pShapePtr->addShape( *mxFilterBase, mpThemePtr.get(), xShapes, aMatrix );
|
||||
pShapePtr->addShape( *mxFilterBase, mpThemePtr.get(), xShapes, aMatrix, pShapePtr->getFillProperties() );
|
||||
xResult = pShapePtr->getXShape();
|
||||
}
|
||||
mpShape.reset((Shape*)0);
|
||||
|
@ -312,7 +312,7 @@ ShapeContextHandler::getShape() throw (uno::RuntimeException)
|
|||
else if (mpShape.get() != NULL)
|
||||
{
|
||||
basegfx::B2DHomMatrix aTransformation;
|
||||
mpShape->addShape(*mxFilterBase, mpThemePtr.get(), xShapes, aTransformation);
|
||||
mpShape->addShape(*mxFilterBase, mpThemePtr.get(), xShapes, aTransformation, mpShape->getFillProperties() );
|
||||
xResult.set(mpShape->getXShape());
|
||||
mxGraphicShapeContext.clear( );
|
||||
}
|
||||
|
|
|
@ -281,7 +281,7 @@ void DrawingFragment::onEndElement()
|
|||
mxShape->setSize(Size(aShapeRectEmu.Width, aShapeRectEmu.Height));
|
||||
|
||||
basegfx::B2DHomMatrix aTransformation;
|
||||
mxShape->addShape( getOoxFilter(), &getTheme(), mxDrawPage, aTransformation, &aShapeRectEmu32 );
|
||||
mxShape->addShape( getOoxFilter(), &getTheme(), mxDrawPage, aTransformation, mxShape->getFillProperties(), &aShapeRectEmu32 );
|
||||
|
||||
/* Collect all shape positions in the WorksheetHelper base
|
||||
class. But first, scale EMUs to 1/100 mm. */
|
||||
|
|
Loading…
Reference in a new issue