summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2007-05-22 15:09:34 +0000
committerVladimir Glazounov <vg@openoffice.org>2007-05-22 15:09:34 +0000
commit256ebf09ce2e06ab9852fa1c6c015b044ecbccf6 (patch)
tree24639428e20613df175c18f78e6a17ccab15f54f
parent2cb85375b8d5f9d1a6270a72946216633d5f9329 (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.cxx36
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#