diff options
Diffstat (limited to 'chart2/source/model/main/ChartModel.cxx')
-rw-r--r-- | chart2/source/model/main/ChartModel.cxx | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/chart2/source/model/main/ChartModel.cxx b/chart2/source/model/main/ChartModel.cxx index d65ab67ddf3c..a0d93d171e7b 100644 --- a/chart2/source/model/main/ChartModel.cxx +++ b/chart2/source/model/main/ChartModel.cxx @@ -1357,14 +1357,34 @@ bool ChartModel::isTimeBased() const void ChartModel::setTimeBased(bool bTimeBased) { mbTimeBased = bTimeBased; + uno::Sequence<Reference< chart2::data::XLabeledDataSequence > > + xDataSequences = getDataSequences(); + sal_Int32 n = xDataSequences.getLength(); + for(sal_Int32 i = 0; i < n; ++i) + { + uno::Reference< chart2::XTimeBased > xTimeBased(xDataSequences[i]->getValues(), uno::UNO_QUERY); + SAL_WARN_IF(!xTimeBased.is(), "chart2", "does not support time based charting"); + if(xTimeBased.is()) + { + uno::Reference< beans::XPropertySet > xPropSet(xTimeBased, uno::UNO_QUERY_THROW); + xPropSet->setPropertyValue("TimeBased", uno::makeAny(bTimeBased)); + } + } } void ChartModel::getNextTimePoint() { - uno::Reference< chart2::XTimeBased > xTimeBased(getUsedData(), uno::UNO_QUERY); - SAL_WARN_IF(!xTimeBased.is(), "chart2", "does not support time based charting"); - if(xTimeBased.is()) - xTimeBased->switchToNext(); + uno::Sequence< Reference< chart2::data::XLabeledDataSequence > > xDataSequences = getDataSequences(); + sal_Int32 n = xDataSequences.getLength(); + for(sal_Int32 i = 0; i < n; ++i) + { + uno::Reference< chart2::XTimeBased > xTimeBased(xDataSequences[i]->getValues(), uno::UNO_QUERY); + SAL_WARN_IF(!xTimeBased.is(), "chart2", "does not support time based charting"); + if(xTimeBased.is()) + { + xTimeBased->switchToNext(); + } + } } } // namespace chart |