diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2022-01-30 12:27:56 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-01-30 20:48:02 +0100 |
commit | c496412631c950f081d7696867db907fa313653a (patch) | |
tree | e0014ec35bbccc3499497eced2828666e8a52e72 /chart2/source/tools/DataSeriesHelper.cxx | |
parent | c5ab758bc3e1227e9ab3013d2fba4c2cd387e296 (diff) |
use more concrete types in chart2, DataSeries
Change-Id: Ida984d1701e2426958127845418365f6645a9043
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129161
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'chart2/source/tools/DataSeriesHelper.cxx')
-rw-r--r-- | chart2/source/tools/DataSeriesHelper.cxx | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/chart2/source/tools/DataSeriesHelper.cxx b/chart2/source/tools/DataSeriesHelper.cxx index bdf391bf5922..c9cb870404c0 100644 --- a/chart2/source/tools/DataSeriesHelper.cxx +++ b/chart2/source/tools/DataSeriesHelper.cxx @@ -18,6 +18,7 @@ */ #include <DataSeriesHelper.hxx> +#include <DataSeries.hxx> #include <DataSource.hxx> #include <ChartType.hxx> #include <unonames.hxx> @@ -376,6 +377,36 @@ OUString getDataSeriesLabel( return aResult; } +OUString getDataSeriesLabel( + const rtl::Reference< DataSeries > & xSeries, + const OUString & rLabelSequenceRole ) +{ + OUString aResult; + + if( xSeries.is()) + { + Reference< chart2::data::XLabeledDataSequence > xLabeledSeq( + ::chart::DataSeriesHelper::getDataSequenceByRole( xSeries, rLabelSequenceRole )); + if( xLabeledSeq.is()) + aResult = getLabelForLabeledDataSequence( xLabeledSeq ); + else + { + // special case: labeled data series with only a label and no values may + // serve as label + xLabeledSeq.set( lcl_findLSequenceWithOnlyLabel( xSeries )); + if( xLabeledSeq.is()) + { + Reference< chart2::data::XDataSequence > xSeq( xLabeledSeq->getLabel()); + if( xSeq.is()) + aResult = lcl_getDataSequenceLabel( xSeq ); + } + } + + } + + return aResult; +} + void setStackModeAtSeries( const Sequence< Reference< chart2::XDataSeries > > & aSeries, const rtl::Reference< BaseCoordinateSystem > & xCorrespondingCoordinateSystem, |