summaryrefslogtreecommitdiff
path: root/chart2/source/model/main/DataSeries.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'chart2/source/model/main/DataSeries.cxx')
-rw-r--r--chart2/source/model/main/DataSeries.cxx25
1 files changed, 25 insertions, 0 deletions
diff --git a/chart2/source/model/main/DataSeries.cxx b/chart2/source/model/main/DataSeries.cxx
index 9f331ce2a215..0d76aab40366 100644
--- a/chart2/source/model/main/DataSeries.cxx
+++ b/chart2/source/model/main/DataSeries.cxx
@@ -419,6 +419,31 @@ Reference< beans::XPropertySet >
// \--
}
+void SAL_CALL DataSeries::resetDataPoint( sal_Int32 nIndex )
+ throw (uno::RuntimeException)
+{
+ MutexGuard aGuard( GetMutex() );
+ tDataPointAttributeContainer::iterator aIt( m_aAttributedDataPoints.find( nIndex ));
+ if( aIt != m_aAttributedDataPoints.end())
+ {
+ Reference< beans::XPropertySet > xDataPointProp( (*aIt).second );
+ Reference< util::XModifyBroadcaster > xBroadcaster( xDataPointProp, uno::UNO_QUERY );
+ if( xBroadcaster.is() && m_xModifyEventForwarder.is())
+ xBroadcaster->removeModifyListener( m_xModifyEventForwarder );
+ m_aAttributedDataPoints.erase(aIt);
+ fireModifyEvent();
+ }
+}
+
+void SAL_CALL DataSeries::resetAllDataPoints()
+ throw (uno::RuntimeException)
+{
+ MutexGuard aGuard( GetMutex() );
+ ModifyListenerHelper::removeListenerFromAllMapElements( m_aAttributedDataPoints, m_xModifyEventForwarder );
+ m_aAttributedDataPoints.clear();
+ fireModifyEvent();
+}
+
// ____ XDataSink ____
void SAL_CALL DataSeries::setData( const uno::Sequence< Reference< chart2::data::XLabeledDataSequence > >& aData )
throw (uno::RuntimeException)