summaryrefslogtreecommitdiff
path: root/chart2/source/tools/DataSeriesHelper.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'chart2/source/tools/DataSeriesHelper.cxx')
-rw-r--r--chart2/source/tools/DataSeriesHelper.cxx39
1 files changed, 39 insertions, 0 deletions
diff --git a/chart2/source/tools/DataSeriesHelper.cxx b/chart2/source/tools/DataSeriesHelper.cxx
index 202b67395c83..baba1a530294 100644
--- a/chart2/source/tools/DataSeriesHelper.cxx
+++ b/chart2/source/tools/DataSeriesHelper.cxx
@@ -675,6 +675,45 @@ void deleteDataLabelsFromPoint( const Reference< beans::XPropertySet >& xPointPr
}
}
+sal_Int32 getExplicitNumberFormatKeyForDataLabel(
+ const uno::Reference<beans::XPropertySet>& xSeriesOrPointProp)
+{
+ rtl::Reference< ::chart::DataSeries > xDataSeries( dynamic_cast<DataSeries*>(xSeriesOrPointProp.get()) );
+ sal_Int32 nFormat = 0;
+ if (!xDataSeries.is())
+ return nFormat;
+ try
+ {
+
+ bool bLinkToSource = true;
+ xDataSeries->getPropertyValue(CHART_UNONAME_LINK_TO_SRC_NUMFMT) >>= bLinkToSource;
+ xDataSeries->getPropertyValue(CHART_UNONAME_NUMFMT) >>= nFormat;
+
+ if (bLinkToSource && xDataSeries->getDataSequences().getLength())
+ {
+ Reference<data::XLabeledDataSequence> xLabeledSeq(
+ xDataSeries->getDataSequences()[0]);
+ if( xLabeledSeq.is() )
+ {
+ Reference< data::XDataSequence > xSeq( xLabeledSeq->getValues());
+ if( xSeq.is() )
+ {
+ nFormat = xSeq->getNumberFormatKeyByIndex( -1 );
+ }
+ }
+
+ }
+ }
+ catch (const beans::UnknownPropertyException&)
+ {
+ }
+
+ if (nFormat < 0)
+ nFormat = 0;
+ return nFormat;
+
+}
+
} // namespace chart
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */