diff options
author | Oliver Bolte <obo@openoffice.org> | 2009-06-25 09:06:48 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2009-06-25 09:06:48 +0000 |
commit | d1b246f90733d6cb1a9cda4310dee0e88c62ccbd (patch) | |
tree | 3a17d8556cb7dd6964c3ab520bcfa172d804c3e8 | |
parent | 529371fe6cebd5ddf4772b5c2638be76b11d3d6b (diff) |
CWS-TOOLING: integrate CWS impress173
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
-rw-r--r-- | xmloff/inc/xmloff/table/XMLTableExport.hxx | 2 | ||||
-rw-r--r-- | xmloff/inc/xmloff/txtprmap.hxx | 2 | ||||
-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 | ||||
-rw-r--r-- | xmloff/source/table/XMLTableExport.cxx | 4 | ||||
-rw-r--r-- | xmloff/source/text/txtprmap.cxx | 2 |
7 files changed, 36 insertions, 8 deletions
diff --git a/xmloff/inc/xmloff/table/XMLTableExport.hxx b/xmloff/inc/xmloff/table/XMLTableExport.hxx index 9d42ffc109..041c96d194 100644 --- a/xmloff/inc/xmloff/table/XMLTableExport.hxx +++ b/xmloff/inc/xmloff/table/XMLTableExport.hxx @@ -75,7 +75,7 @@ typedef ::std::map< const ::com::sun::star::uno::Reference< com::sun::star::tabl class XMLOFF_DLLPUBLIC XMLTableExport : public UniRefBase { public: - XMLTableExport(SvXMLExport& rExp, const rtl::Reference< XMLPropertySetMapper >& xCellPropertySetMapper, const rtl::Reference< XMLPropertyHandlerFactory >& xFactoryRef ); + XMLTableExport(SvXMLExport& rExp, const rtl::Reference< SvXMLExportPropertyMapper >& xCellExportPropertySetMapper, const rtl::Reference< XMLPropertyHandlerFactory >& xFactoryRef ); virtual ~XMLTableExport(); // This method collects all automatic styles for the given table diff --git a/xmloff/inc/xmloff/txtprmap.hxx b/xmloff/inc/xmloff/txtprmap.hxx index 3cbdeaa98e..c1dbb2bba1 100644 --- a/xmloff/inc/xmloff/txtprmap.hxx +++ b/xmloff/inc/xmloff/txtprmap.hxx @@ -71,7 +71,7 @@ #define CTF_FONTFAMILY (XML_TEXT_CTF_START + 36) #define CTF_FONTPITCH (XML_TEXT_CTF_START + 37) #define CTF_FONTCHARSET (XML_TEXT_CTF_START + 38) -// (XML_TEXT_CTF_START + 39) +#define CTF_TEXTWRITINGMODE (XML_TEXT_CTF_START + 39) #define CTF_SYNCHEIGHT_MIN (XML_TEXT_CTF_START + 40) #define CTF_FRAMEHEIGHT_ABS (XML_TEXT_CTF_START + 41) #define CTF_FRAMEHEIGHT_REL (XML_TEXT_CTF_START + 42) diff --git a/xmloff/source/draw/sdpropls.cxx b/xmloff/source/draw/sdpropls.cxx index 3453dc2379..fd82bf9d01 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 9664f4b6a6..569340c8c3 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 2c0a3072ba..b39d29e664 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 ); } diff --git a/xmloff/source/table/XMLTableExport.cxx b/xmloff/source/table/XMLTableExport.cxx index e7d0915b72..7c8d3c5c2a 100644 --- a/xmloff/source/table/XMLTableExport.cxx +++ b/xmloff/source/table/XMLTableExport.cxx @@ -150,7 +150,7 @@ sal_Int32 StringStatisticHelper::getModeString( OUString& rStyleName ) // class XMLTableExport // -------------------------------------------------------------------- -XMLTableExport::XMLTableExport(SvXMLExport& rExp, const rtl::Reference< XMLPropertySetMapper >& xCellPropertySetMapper, const rtl::Reference< XMLPropertyHandlerFactory >& xFactoryRef ) +XMLTableExport::XMLTableExport(SvXMLExport& rExp, const rtl::Reference< SvXMLExportPropertyMapper >& xExportPropertyMapper, const rtl::Reference< XMLPropertyHandlerFactory >& xFactoryRef ) : mrExport( rExp ) , mbExportTables( false ) { @@ -174,7 +174,7 @@ XMLTableExport::XMLTableExport(SvXMLExport& rExp, const rtl::Reference< XMLPrope (void)e; } - mxCellExportPropertySetMapper = new SvXMLExportPropertyMapper( xCellPropertySetMapper.get() ); + mxCellExportPropertySetMapper = xExportPropertyMapper; mxCellExportPropertySetMapper->ChainExportMapper(XMLTextParagraphExport::CreateParaExtPropMapper(rExp)); mxRowExportPropertySetMapper = new SvXMLExportPropertyMapper( new XMLPropertySetMapper( getRowPropertiesMap(), xFactoryRef.get() ) ); diff --git a/xmloff/source/text/txtprmap.cxx b/xmloff/source/text/txtprmap.cxx index 1a7b3631e5..e68469f561 100644 --- a/xmloff/source/text/txtprmap.cxx +++ b/xmloff/source/text/txtprmap.cxx @@ -372,7 +372,7 @@ XMLPropertyMapEntry aXMLParaPropMap[] = // RES_PARATR_SNAPTOGRID MP_E( "SnapToGrid", STYLE, SNAP_TO_LAYOUT_GRID, XML_TYPE_BOOL, 0 ), - MP_ED( "WritingMode", STYLE, WRITING_MODE, XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT, 0 ), + MP_ED( "WritingMode", STYLE, WRITING_MODE, XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT, CTF_TEXTWRITINGMODE ), MP_E( "ParaIsConnectBorder", STYLE, JOIN_BORDER, XML_TYPE_BOOL, 0 ), |