diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2010-07-22 13:08:24 +0200 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2010-07-22 13:08:24 +0200 |
commit | 69b48fb7fa47b4fa60b7c21f610f4eeace90fb78 (patch) | |
tree | 58ff7e23f34a12963620e4884dbae70cfa3ae54b /reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx | |
parent | 6c16430117277b381160ba4de249a71f49a9ed07 (diff) | |
parent | 3df7d157d6f3210b7547aaf26e26dd0416fe3462 (diff) |
CWS-TOOLING: integrate CWS dba33g
Notes
split repo tag: base_ooo/OOO330_m2
split repo tag: base_ooo/OOO330_m3
split repo tag: base_ooo/OOO330_m4
split repo tag: base_ooo/OOO330_m5
split repo tag: base_ooo/OOO330_m6
Diffstat (limited to 'reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx')
-rw-r--r-- | reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx b/reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx index 4adbd142d4c8..c92eecc1084d 100644 --- a/reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx +++ b/reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx @@ -30,6 +30,7 @@ #include <com/sun/star/sdb/CommandType.hpp> #include <com/sun/star/chart2/data/DatabaseDataProvider.hpp> #include <com/sun/star/chart2/data/XDataReceiver.hpp> +#include <com/sun/star/chart/XComplexDescriptionAccess.hpp> #include <com/sun/star/chart/ChartDataRowSource.hpp> #include <com/sun/star/reflection/XProxyFactory.hpp> #include <com/sun/star/sdb/CommandType.hpp> @@ -122,7 +123,6 @@ void SAL_CALL ImportDocumentHandler::endDocument() throw (uno::RuntimeException, uno::Reference< chart2::data::XDataReceiver > xReceiver(m_xModel,uno::UNO_QUERY_THROW); if ( xReceiver.is() ) { - xReceiver->attachDataProvider(m_xDatabaseDataProvider.get()); // this fills the chart again uno::Sequence< beans::PropertyValue > aArgs( 4 ); aArgs[0] = beans::PropertyValue( @@ -137,6 +137,18 @@ void SAL_CALL ImportDocumentHandler::endDocument() throw (uno::RuntimeException, aArgs[3] = beans::PropertyValue( ::rtl::OUString::createFromAscii("DataRowSource"), -1, uno::makeAny( chart::ChartDataRowSource_COLUMNS ), beans::PropertyState_DIRECT_VALUE ); + + uno::Reference< chart::XComplexDescriptionAccess > xDataProvider(m_xModel->getDataProvider(),uno::UNO_QUERY); + if ( xDataProvider.is() ) + { + aArgs.realloc(5); + uno::Sequence< uno::Sequence< ::rtl::OUString > > aColumnNames = xDataProvider->getComplexColumnDescriptions(); + aArgs[4] = beans::PropertyValue( + ::rtl::OUString::createFromAscii("ComplexColumnDescriptions"), -1, + uno::makeAny( aColumnNames ), beans::PropertyState_DIRECT_VALUE ); + } + xReceiver->attachDataProvider(m_xDatabaseDataProvider.get()); + xReceiver->setArguments( aArgs ); } } |