diff options
-rw-r--r-- | chart2/source/tools/ExplicitCategoriesProvider.cxx | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/chart2/source/tools/ExplicitCategoriesProvider.cxx b/chart2/source/tools/ExplicitCategoriesProvider.cxx index c5e32760f6b3..d543b2b365fb 100644 --- a/chart2/source/tools/ExplicitCategoriesProvider.cxx +++ b/chart2/source/tools/ExplicitCategoriesProvider.cxx @@ -32,6 +32,7 @@ #include <DataSeries.hxx> #include <com/sun/star/chart2/AxisType.hpp> +#include <com/sun/star/chart/ChartDataRowSource.hpp> #include <o3tl/compare.hxx> #include <o3tl/safeint.hxx> #include <rtl/ustrbuf.hxx> @@ -108,11 +109,18 @@ ExplicitCategoriesProvider::ExplicitCategoriesProvider( const rtl::Reference< Ba if( !aSeries.empty() ) { const rtl::Reference< DataSeries >& xSeriesSource = aSeries.front(); - OUString aStringDummy; - bool bDummy; - uno::Sequence< sal_Int32 > aSeqDummy; - DataSourceHelper::readArguments( xDataProvider->detectArguments( xSeriesSource), - aStringDummy, aSeqDummy, bSeriesUsesColumns, bDummy, bDummy ); + for(const auto& rArgument : xDataProvider->detectArguments( xSeriesSource)) + { + if ( rArgument.Name == "DataRowSource" ) + { + css::chart::ChartDataRowSource eRowSource; + if( rArgument.Value >>= eRowSource ) + { + bSeriesUsesColumns = (eRowSource == css::chart::ChartDataRowSource_COLUMNS); + break; + } + } + } } if( bSeriesUsesColumns ) m_aSplitCategoriesList = comphelper::sequenceToContainer<std::vector<Reference<data::XLabeledDataSequence>>>(aColumns); |