summaryrefslogtreecommitdiff
path: root/chart2/source/tools/DataSeriesHelper.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2022-01-30 12:27:56 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-01-30 20:48:02 +0100
commitc496412631c950f081d7696867db907fa313653a (patch)
treee0014ec35bbccc3499497eced2828666e8a52e72 /chart2/source/tools/DataSeriesHelper.cxx
parentc5ab758bc3e1227e9ab3013d2fba4c2cd387e296 (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.cxx31
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,