summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chart2/source/tools/ExplicitCategoriesProvider.cxx18
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);