diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2009-07-06 21:00:37 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2009-07-06 21:00:37 +0000 |
commit | 7718e234838bce27b6f7f9747ae91b9c236e8edc (patch) | |
tree | 3f8bd1d0de34d1f04245c0af6e68cea1633b0a81 /xmloff/source/draw | |
parent | cf94d9eb9d4e98316176cad6d2fdee0d47eef517 (diff) |
CWS-TOOLING: integrate CWS impress173_DEV300
2009-06-16 15:50:22 +0200 sj r273022 : #i101545# fixed crash - bracketing of graphic links has been done twice leading to a broken graphic state stack
2009-06-05 10:37:58 +0200 cl r272669 : #i102298# prevent export of multiple writing-mode attributes for cell styles
2009-06-05 10:29:42 +0200 cl r272667 : #i98403# fixed editing of motion path
Diffstat (limited to 'xmloff/source/draw')
-rw-r--r-- | xmloff/source/draw/sdpropls.cxx | 29 | ||||
-rw-r--r-- | xmloff/source/draw/sdpropls.hxx | 2 | ||||
-rw-r--r-- | xmloff/source/draw/shapeexport.cxx | 3 |
3 files changed, 31 insertions, 3 deletions
diff --git a/xmloff/source/draw/sdpropls.cxx b/xmloff/source/draw/sdpropls.cxx index 60b921ea8aaa..dcdfdbaa05d2 100644 --- a/xmloff/source/draw/sdpropls.cxx +++ b/xmloff/source/draw/sdpropls.cxx @@ -268,7 +268,7 @@ const XMLPropertyMapEntry aXMLSDProperties[] = GMAP( "ControlDataStyle", XML_NAMESPACE_STYLE,XML_DATA_STYLE_NAME, XML_TYPE_STRING|MID_FLAG_NO_PROPERTY_EXPORT|MID_FLAG_SPECIAL_ITEM, CTF_SD_CONTROL_SHAPE_DATA_STYLE ), GMAP( "ControlTextEmphasis", XML_NAMESPACE_STYLE,XML_TEXT_EMPHASIZE, XML_TYPE_CONTROL_TEXT_EMPHASIZE, 0 ), GMAP( "ImageScaleMode", XML_NAMESPACE_STYLE,XML_REPEAT, XML_SD_TYPE_IMAGE_SCALE_MODE|MID_FLAG_MULTI_PROPERTY, 0 ), - GMAP( "ControlWritingMode", XML_NAMESPACE_STYLE,XML_WRITING_MODE, XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT|MID_FLAG_MULTI_PROPERTY, 0 ), + GMAP( "ControlWritingMode", XML_NAMESPACE_STYLE,XML_WRITING_MODE, XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT|MID_FLAG_MULTI_PROPERTY, CTF_CONTROLWRITINGMODE ), // special entries for floating frames GMAP( "FrameIsAutoScroll", XML_NAMESPACE_DRAW, XML_FRAME_DISPLAY_SCROLLBAR, XML_TYPE_BOOL|MID_FLAG_MULTI_PROPERTY, CTF_FRAME_DISPLAY_SCROLLBAR ), @@ -1230,6 +1230,10 @@ void XMLShapeExportPropertyMapper::ContextFilter( XMLPropertyState* pClip11State = NULL; XMLPropertyState* pClipState = NULL; + XMLPropertyState* pShapeWritingMode = NULL; + XMLPropertyState* pTextWritingMode = NULL; + XMLPropertyState* pControlWritingMode = NULL; + // filter properties for( std::vector< XMLPropertyState >::iterator aIter = rProperties.begin(); aIter != rProperties.end(); @@ -1261,14 +1265,24 @@ void XMLShapeExportPropertyMapper::ContextFilter( break; case CTF_WRITINGMODE: { + pShapeWritingMode = property; text::WritingMode eWritingMode; if( property->maValue >>= eWritingMode ) { if( text::WritingMode_LR_TB == eWritingMode ) + { property->mnIndex = -1; + pShapeWritingMode = 0; + } } } break; + case CTF_CONTROLWRITINGMODE: + pControlWritingMode = property; + break; + case CTF_TEXTWRITINGMODE: + pTextWritingMode = property; + break; case CTF_REPEAT_OFFSET_X: pRepeatOffsetX = property; break; @@ -1353,6 +1367,19 @@ void XMLShapeExportPropertyMapper::ContextFilter( } } + // check for duplicate writing mode + if( pShapeWritingMode && (pTextWritingMode || pControlWritingMode) ) + { + if( pTextWritingMode ) + pTextWritingMode->mnIndex = -1; + if( pControlWritingMode ) + pControlWritingMode->mnIndex = -1; + } + else if( pTextWritingMode && pControlWritingMode ) + { + pControlWritingMode->mnIndex = -1; + } + // do not export visual area for internal ole objects if( pOLEIsInternal ) { diff --git a/xmloff/source/draw/sdpropls.hxx b/xmloff/source/draw/sdpropls.hxx index bf27e669f1ca..eed5eee69b51 100644 --- a/xmloff/source/draw/sdpropls.hxx +++ b/xmloff/source/draw/sdpropls.hxx @@ -142,7 +142,7 @@ extern const XMLPropertyMapEntry aXMLSDPresPageProps_onlyHeadersFooter[]; ////////////////////////////////////////////////////////////////////////////// #define CTF_NUMBERINGRULES 1000 -//#define CTF_NUMBERINGRULES_NAME 1001 +#define CTF_CONTROLWRITINGMODE 1001 #define CTF_WRITINGMODE 1002 #define CTF_REPEAT_OFFSET_X 1003 #define CTF_REPEAT_OFFSET_Y 1004 diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx index d3e3edcd6716..bcac474e97eb 100644 --- a/xmloff/source/draw/shapeexport.cxx +++ b/xmloff/source/draw/shapeexport.cxx @@ -1213,7 +1213,8 @@ const rtl::Reference< XMLTableExport >& XMLShapeExport::GetShapeTableExport() if( !mxShapeTableExport.is() ) { rtl::Reference< XMLPropertyHandlerFactory > xFactory( new XMLSdPropHdlFactory( mrExport.GetModel(), mrExport ) ); - rtl::Reference< XMLPropertySetMapper > xPropertySetMapper( new XMLShapePropertySetMapper( xFactory.get() ) ); + UniReference < XMLPropertySetMapper > xMapper( new XMLShapePropertySetMapper( xFactory.get() ) ); + rtl::Reference< SvXMLExportPropertyMapper > xPropertySetMapper( new XMLShapeExportPropertyMapper( xMapper, (XMLTextListAutoStylePool*)&mrExport.GetTextParagraphExport()->GetListAutoStylePool(), mrExport ) ); mxShapeTableExport = new XMLTableExport( mrExport, xPropertySetMapper, xFactory ); } |