diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2007-05-22 15:09:34 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2007-05-22 15:09:34 +0000 |
commit | 256ebf09ce2e06ab9852fa1c6c015b044ecbccf6 (patch) | |
tree | 24639428e20613df175c18f78e6a17ccab15f54f | |
parent | 2cb85375b8d5f9d1a6270a72946216633d5f9329 (diff) |
INTEGRATION: CWS chart2mst3 (1.126.4); FILE MERGED
2007/04/24 21:36:53 bm 1.126.4.3: RESYNC: (1.126-1.128); FILE MERGED
2007/02/06 16:09:17 bm 1.126.4.2: #144135# make propertysetinfo static, otherwise the set property is not maintained by the propertyset
2007/01/31 12:40:26 bm 1.126.4.1: #144135# set ExportTableNumberList property for charts being exported in OOo flat format for binfilter
-rw-r--r-- | xmloff/source/core/xmlexp.cxx | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/xmloff/source/core/xmlexp.cxx b/xmloff/source/core/xmlexp.cxx index 8118130c5ac3..d8ffaa3b008c 100644 --- a/xmloff/source/core/xmlexp.cxx +++ b/xmloff/source/core/xmlexp.cxx @@ -4,9 +4,9 @@ * * $RCSfile: xmlexp.cxx,v $ * - * $Revision: 1.128 $ + * $Revision: 1.129 $ * - * last change: $Author: rt $ $Date: 2007-04-18 07:48:32 $ + * last change: $Author: vg $ $Date: 2007-05-22 16:09:34 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -1235,9 +1235,9 @@ sal_uInt32 SvXMLExport::exportDoc( enum ::xmloff::token::XMLTokenEnum eClass ) Reference< XPropertySet > xPropSet = mxExportInfo.is() - ? PropertySetMerger_CreateInstance( mxExportInfo, - xConvPropSet ) - : mxExportInfo; + ? PropertySetMerger_CreateInstance( mxExportInfo, + xConvPropSet ) + : xConvPropSet; Sequence<Any> aArgs( 3 ); aArgs[0] <<= mxHandler; @@ -2022,6 +2022,7 @@ sal_Int64 SAL_CALL SvXMLExport::getSomething( const uno::Sequence< sal_Int8 >& r sal_Bool SvXMLExport::ExportEmbeddedOwnObject( Reference< XComponent >& rComp ) { OUString sFilterService; + bool bIsChart = false; Reference < lang::XServiceInfo > xServiceInfo( rComp, UNO_QUERY ); if( xServiceInfo.is() ) @@ -2037,6 +2038,7 @@ sal_Bool SvXMLExport::ExportEmbeddedOwnObject( Reference< XComponent >& rComp ) sFilterService = OUString( pEntry->sFilterService, pEntry->nFilterServiceLen, RTL_TEXTENCODING_ASCII_US ); + bIsChart = sModelService.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( XML_MODEL_SERVICE_CHART )); break; } pEntry++; @@ -2052,6 +2054,30 @@ sal_Bool SvXMLExport::ExportEmbeddedOwnObject( Reference< XComponent >& rComp ) new XMLEmbeddedObjectExportFilter( mxHandler ); Sequence < Any > aArgs( 1 ); + // #144135# the filters for embedded objects in flat format are always + // instantiated as Oasis filters and transformed afterwards. Therefore, all + // special handling that is done if the exportFlags do not contain + // EXPORT_OASIS must be changed to properties being passed in the info + // propertyset + + if( ! (getExportFlags() & EXPORT_OASIS) && + bIsChart ) + { + static ::comphelper::PropertyMapEntry aInfoMap[] = + { + { RTL_CONSTASCII_STRINGPARAM("ExportTableNumberList"), 0, &::getBooleanCppuType(), PropertyAttribute::MAYBEVOID, 0}, + { NULL, 0, 0, NULL, 0, 0 } + }; + Reference< XPropertySet > xInfoProp( + ::comphelper::GenericPropertySet_CreateInstance( + new ::comphelper::PropertySetInfo( aInfoMap ))); + + if( bIsChart ) + xInfoProp->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM("ExportTableNumberList")), makeAny( true )); + + aArgs.realloc( 2 ); + aArgs[1] <<= xInfoProp; + } aArgs[0] <<= xHdl; // #110680# |