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.cxx634
1 files changed, 0 insertions, 634 deletions
diff --git a/chart2/source/model/main/DataSeries.cxx b/chart2/source/model/main/DataSeries.cxx
deleted file mode 100644
index ff7c5f1cb..000000000
--- a/chart2/source/model/main/DataSeries.cxx
+++ /dev/null
@@ -1,634 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_chart2.hxx"
-#include "DataSeries.hxx"
-#include "DataSeriesProperties.hxx"
-#include "DataPointProperties.hxx"
-#include "CharacterProperties.hxx"
-#include "UserDefinedProperties.hxx"
-#include "DataPoint.hxx"
-#include "macros.hxx"
-#include "DataSeriesHelper.hxx"
-#include "ContainerHelper.hxx"
-#include "CloneHelper.hxx"
-#include "ModifyListenerHelper.hxx"
-#include "EventListenerHelper.hxx"
-
-#include <algorithm>
-
-using namespace ::com::sun::star;
-
-using ::com::sun::star::beans::Property;
-using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::uno::Reference;
-using ::com::sun::star::uno::Any;
-using ::rtl::OUString;
-using ::osl::MutexGuard;
-
-// ----------------------------------------
-
-namespace
-{
-
-struct StaticDataSeriesDefaults_Initializer
-{
- ::chart::tPropertyValueMap* operator()()
- {
- static ::chart::tPropertyValueMap aStaticDefaults;
- lcl_AddDefaultsToMap( aStaticDefaults );
- return &aStaticDefaults;
- }
-private:
- void lcl_AddDefaultsToMap( ::chart::tPropertyValueMap & rOutMap )
- {
- ::chart::DataSeriesProperties::AddDefaultsToMap( rOutMap );
- ::chart::CharacterProperties::AddDefaultsToMap( rOutMap );
-
- float fDefaultCharHeight = 10.0;
- ::chart::PropertyHelper::setPropertyValue( rOutMap, ::chart::CharacterProperties::PROP_CHAR_CHAR_HEIGHT, fDefaultCharHeight );
- ::chart::PropertyHelper::setPropertyValue( rOutMap, ::chart::CharacterProperties::PROP_CHAR_ASIAN_CHAR_HEIGHT, fDefaultCharHeight );
- ::chart::PropertyHelper::setPropertyValue( rOutMap, ::chart::CharacterProperties::PROP_CHAR_COMPLEX_CHAR_HEIGHT, fDefaultCharHeight );
- }
-};
-
-struct StaticDataSeriesDefaults : public rtl::StaticAggregate< ::chart::tPropertyValueMap, StaticDataSeriesDefaults_Initializer >
-{
-};
-
-struct StaticDataSeriesInfoHelper_Initializer
-{
- ::cppu::OPropertyArrayHelper* operator()()
- {
- static ::cppu::OPropertyArrayHelper aPropHelper( lcl_GetPropertySequence() );
- return &aPropHelper;
- }
-
-private:
- uno::Sequence< Property > lcl_GetPropertySequence()
- {
- ::std::vector< ::com::sun::star::beans::Property > aProperties;
- ::chart::DataSeriesProperties::AddPropertiesToVector( aProperties );
- ::chart::CharacterProperties::AddPropertiesToVector( aProperties );
- ::chart::UserDefinedProperties::AddPropertiesToVector( aProperties );
-
- ::std::sort( aProperties.begin(), aProperties.end(),
- ::chart::PropertyNameLess() );
-
- return ::chart::ContainerHelper::ContainerToSequence( aProperties );
- }
-
-};
-
-struct StaticDataSeriesInfoHelper : public rtl::StaticAggregate< ::cppu::OPropertyArrayHelper, StaticDataSeriesInfoHelper_Initializer >
-{
-};
-
-struct StaticDataSeriesInfo_Initializer
-{
- uno::Reference< beans::XPropertySetInfo >* operator()()
- {
- static uno::Reference< beans::XPropertySetInfo > xPropertySetInfo(
- ::cppu::OPropertySetHelper::createPropertySetInfo(*StaticDataSeriesInfoHelper::get() ) );
- return &xPropertySetInfo;
- }
-};
-
-struct StaticDataSeriesInfo : public rtl::StaticAggregate< uno::Reference< beans::XPropertySetInfo >, StaticDataSeriesInfo_Initializer >
-{
-};
-
-void lcl_SetParent(
- const uno::Reference< uno::XInterface > & xChildInterface,
- const uno::Reference< uno::XInterface > & xParentInterface )
-{
- uno::Reference< container::XChild > xChild( xChildInterface, uno::UNO_QUERY );
- if( xChild.is())
- xChild->setParent( xParentInterface );
-}
-
-typedef ::std::map< sal_Int32, ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > >
- lcl_tDataPointMap;
-
-void lcl_CloneAttributedDataPoints(
- const lcl_tDataPointMap & rSource, lcl_tDataPointMap & rDestination,
- const uno::Reference< uno::XInterface > & xSeries )
-{
- for( lcl_tDataPointMap::const_iterator aIt( rSource.begin());
- aIt != rSource.end(); ++aIt )
- {
- Reference< beans::XPropertySet > xPoint( (*aIt).second );
- if( xPoint.is())
- {
- Reference< util::XCloneable > xCloneable( xPoint, uno::UNO_QUERY );
- if( xCloneable.is())
- {
- xPoint.set( xCloneable->createClone(), uno::UNO_QUERY );
- if( xPoint.is())
- {
- lcl_SetParent( xPoint, xSeries );
- rDestination.insert( lcl_tDataPointMap::value_type( (*aIt).first, xPoint ));
- }
- }
- }
- }
-}
-
-} // anonymous namespace
-
-// ----------------------------------------
-
-namespace chart
-{
-
-DataSeries::DataSeries( const uno::Reference< uno::XComponentContext > & xContext ) :
- ::property::OPropertySet( m_aMutex ),
- m_xContext( xContext ),
- m_xModifyEventForwarder( ModifyListenerHelper::createModifyEventForwarder())
-{
-}
-
-DataSeries::DataSeries( const DataSeries & rOther ) :
- MutexContainer(),
- impl::DataSeries_Base(),
- ::property::OPropertySet( rOther, m_aMutex ),
- m_xContext( rOther.m_xContext ),
- m_xModifyEventForwarder( ModifyListenerHelper::createModifyEventForwarder())
-{
- if( ! rOther.m_aDataSequences.empty())
- {
- CloneHelper::CloneRefVector< tDataSequenceContainer::value_type >(
- rOther.m_aDataSequences, m_aDataSequences );
- ModifyListenerHelper::addListenerToAllElements( m_aDataSequences, m_xModifyEventForwarder );
- }
-
- CloneHelper::CloneRefVector< Reference< chart2::XRegressionCurve > >( rOther.m_aRegressionCurves, m_aRegressionCurves );
- ModifyListenerHelper::addListenerToAllElements( m_aRegressionCurves, m_xModifyEventForwarder );
-
- // add as listener to XPropertySet properties
- Reference< beans::XPropertySet > xPropertySet;
- uno::Any aValue;
-
- getFastPropertyValue( aValue, DataPointProperties::PROP_DATAPOINT_ERROR_BAR_X );
- if( ( aValue >>= xPropertySet )
- && xPropertySet.is())
- ModifyListenerHelper::addListener( xPropertySet, m_xModifyEventForwarder );
-
- getFastPropertyValue( aValue, DataPointProperties::PROP_DATAPOINT_ERROR_BAR_Y );
- if( ( aValue >>= xPropertySet )
- && xPropertySet.is())
- ModifyListenerHelper::addListener( xPropertySet, m_xModifyEventForwarder );
-}
-
-// late initialization to call after copy-constructing
-void DataSeries::Init( const DataSeries & rOther )
-{
- if( ! rOther.m_aDataSequences.empty())
- EventListenerHelper::addListenerToAllElements( m_aDataSequences, this );
-
- Reference< uno::XInterface > xThisInterface( static_cast< ::cppu::OWeakObject * >( this ));
- if( ! rOther.m_aAttributedDataPoints.empty())
- {
- lcl_CloneAttributedDataPoints(
- rOther.m_aAttributedDataPoints, m_aAttributedDataPoints, xThisInterface );
- ModifyListenerHelper::addListenerToAllMapElements( m_aAttributedDataPoints, m_xModifyEventForwarder );
- }
-
- // add as parent to error bars
- Reference< beans::XPropertySet > xPropertySet;
- uno::Any aValue;
-
- getFastPropertyValue( aValue, DataPointProperties::PROP_DATAPOINT_ERROR_BAR_X );
- if( ( aValue >>= xPropertySet )
- && xPropertySet.is())
- lcl_SetParent( xPropertySet, xThisInterface );
-
- getFastPropertyValue( aValue, DataPointProperties::PROP_DATAPOINT_ERROR_BAR_Y );
- if( ( aValue >>= xPropertySet )
- && xPropertySet.is())
- lcl_SetParent( xPropertySet, xThisInterface );
-}
-
-DataSeries::~DataSeries()
-{
- try
- {
- ModifyListenerHelper::removeListenerFromAllMapElements( m_aAttributedDataPoints, m_xModifyEventForwarder );
- ModifyListenerHelper::removeListenerFromAllElements( m_aRegressionCurves, m_xModifyEventForwarder );
- ModifyListenerHelper::removeListenerFromAllElements( m_aDataSequences, m_xModifyEventForwarder );
-
- // remove listener from XPropertySet properties
- Reference< beans::XPropertySet > xPropertySet;
- uno::Any aValue;
-
- getFastPropertyValue( aValue, DataPointProperties::PROP_DATAPOINT_ERROR_BAR_X );
- if( ( aValue >>= xPropertySet )
- && xPropertySet.is())
- ModifyListenerHelper::removeListener( xPropertySet, m_xModifyEventForwarder );
-
- getFastPropertyValue( aValue, DataPointProperties::PROP_DATAPOINT_ERROR_BAR_Y );
- if( ( aValue >>= xPropertySet )
- && xPropertySet.is())
- ModifyListenerHelper::removeListener( xPropertySet, m_xModifyEventForwarder );
- }
- catch( const uno::Exception & ex )
- {
- ASSERT_EXCEPTION( ex );
- }
-}
-
-// ____ XCloneable ____
-uno::Reference< util::XCloneable > SAL_CALL DataSeries::createClone()
- throw (uno::RuntimeException)
-{
- DataSeries * pNewSeries( new DataSeries( *this ));
- // hold a reference to the clone
- uno::Reference< util::XCloneable > xResult( pNewSeries );
- // do initialization that uses uno references to the clone
- pNewSeries->Init( *this );
-
- return xResult;
-}
-
-Sequence< OUString > DataSeries::getSupportedServiceNames_Static()
-{
- Sequence< OUString > aServices( 3 );
- aServices[ 0 ] = C2U( "com.sun.star.chart2.DataSeries" );
- aServices[ 1 ] = C2U( "com.sun.star.chart2.DataPointProperties" );
- aServices[ 2 ] = C2U( "com.sun.star.beans.PropertySet" );
- return aServices;
-}
-
-// ____ OPropertySet ____
-uno::Any DataSeries::GetDefaultValue( sal_Int32 nHandle ) const
- throw(beans::UnknownPropertyException)
-{
- const tPropertyValueMap& rStaticDefaults = *StaticDataSeriesDefaults::get();
- tPropertyValueMap::const_iterator aFound( rStaticDefaults.find( nHandle ) );
- if( aFound == rStaticDefaults.end() )
- return uno::Any();
- return (*aFound).second;
-}
-
-// ____ OPropertySet ____
-::cppu::IPropertyArrayHelper & SAL_CALL DataSeries::getInfoHelper()
-{
- return *StaticDataSeriesInfoHelper::get();
-}
-
-// ____ XPropertySet ____
-uno::Reference< beans::XPropertySetInfo > SAL_CALL DataSeries::getPropertySetInfo()
- throw (uno::RuntimeException)
-{
- return *StaticDataSeriesInfo::get();
-}
-
-void SAL_CALL DataSeries::getFastPropertyValue
- ( uno::Any& rValue,
- sal_Int32 nHandle ) const
-{
- // special handling for get. set is not possible for this property
- if( nHandle == DataSeriesProperties::PROP_DATASERIES_ATTRIBUTED_DATA_POINTS )
- {
- // ToDo: only add those property sets that are really modified
- uno::Sequence< sal_Int32 > aSeq( m_aAttributedDataPoints.size());
- sal_Int32 * pIndexArray = aSeq.getArray();
- sal_Int32 i = 0;
-
- for( tDataPointAttributeContainer::const_iterator aIt( m_aAttributedDataPoints.begin());
- aIt != m_aAttributedDataPoints.end(); ++aIt )
- {
- pIndexArray[ i ] = (*aIt).first;
- ++i;
- }
-
- rValue <<= aSeq;
- }
- else
- OPropertySet::getFastPropertyValue( rValue, nHandle );
-}
-
-void SAL_CALL DataSeries::setFastPropertyValue_NoBroadcast(
- sal_Int32 nHandle, const uno::Any& rValue )
- throw (uno::Exception)
-{
- if( nHandle == DataPointProperties::PROP_DATAPOINT_ERROR_BAR_Y
- || nHandle == DataPointProperties::PROP_DATAPOINT_ERROR_BAR_X )
- {
- uno::Any aOldValue;
- Reference< util::XModifyBroadcaster > xBroadcaster;
- this->getFastPropertyValue( aOldValue, nHandle );
- if( aOldValue.hasValue() &&
- (aOldValue >>= xBroadcaster) &&
- xBroadcaster.is())
- {
- ModifyListenerHelper::removeListener( xBroadcaster, m_xModifyEventForwarder );
- }
-
- OSL_ASSERT( rValue.getValueType().getTypeClass() == uno::TypeClass_INTERFACE );
- if( rValue.hasValue() &&
- (rValue >>= xBroadcaster) &&
- xBroadcaster.is())
- {
- ModifyListenerHelper::addListener( xBroadcaster, m_xModifyEventForwarder );
- }
- }
-
- ::property::OPropertySet::setFastPropertyValue_NoBroadcast( nHandle, rValue );
-}
-
-Reference< beans::XPropertySet >
- SAL_CALL DataSeries::getDataPointByIndex( sal_Int32 nIndex )
- throw (lang::IndexOutOfBoundsException,
- uno::RuntimeException)
-{
- Reference< beans::XPropertySet > xResult;
-
- Sequence< Reference< chart2::data::XLabeledDataSequence > > aSequences;
- {
- MutexGuard aGuard( GetMutex() );
- aSequences = ContainerHelper::ContainerToSequence( m_aDataSequences );
- }
-
- ::std::vector< Reference< chart2::data::XLabeledDataSequence > > aValuesSeries(
- DataSeriesHelper::getAllDataSequencesByRole( aSequences , C2U("values"), true ) );
- if( !aValuesSeries.empty() )
- {
- Reference< chart2::data::XDataSequence > xSeq( aValuesSeries.front()->getValues() );
- if( 0 <= nIndex && nIndex < xSeq->getData().getLength() )
- {
- {
- MutexGuard aGuard( GetMutex() );
- tDataPointAttributeContainer::iterator aIt( m_aAttributedDataPoints.find( nIndex ) );
- if( aIt != m_aAttributedDataPoints.end() )
- xResult = (*aIt).second;
- }
- if( !xResult.is() )
- {
- Reference< beans::XPropertySet > xParentProperties;
- Reference< util::XModifyListener > xModifyEventForwarder;
- {
- MutexGuard aGuard( GetMutex() );
- xParentProperties = this;
- xModifyEventForwarder = m_xModifyEventForwarder;
- }
-
- // create a new XPropertySet for this data point
- xResult.set( new DataPoint( xParentProperties ) );
- {
- MutexGuard aGuard( GetMutex() );
- m_aAttributedDataPoints[ nIndex ] = xResult;
- }
- ModifyListenerHelper::addListener( xResult, xModifyEventForwarder );
- }
- }
- }
- else
- {
- throw lang::IndexOutOfBoundsException();
- }
-
- return xResult;
-}
-
-void SAL_CALL DataSeries::resetDataPoint( sal_Int32 nIndex )
- throw (uno::RuntimeException)
-{
- Reference< beans::XPropertySet > xDataPointProp;
- Reference< util::XModifyListener > xModifyEventForwarder;
- {
- MutexGuard aGuard( GetMutex() );
- xModifyEventForwarder = m_xModifyEventForwarder;
- tDataPointAttributeContainer::iterator aIt( m_aAttributedDataPoints.find( nIndex ));
- if( aIt != m_aAttributedDataPoints.end())
- {
- xDataPointProp = (*aIt).second;
- m_aAttributedDataPoints.erase(aIt);
- }
-
- }
- if( xDataPointProp.is() )
- {
- Reference< util::XModifyBroadcaster > xBroadcaster( xDataPointProp, uno::UNO_QUERY );
- if( xBroadcaster.is() && xModifyEventForwarder.is())
- xBroadcaster->removeModifyListener( xModifyEventForwarder );
- fireModifyEvent();
- }
-}
-
-void SAL_CALL DataSeries::resetAllDataPoints()
- throw (uno::RuntimeException)
-{
- tDataPointAttributeContainer aOldAttributedDataPoints;
- Reference< util::XModifyListener > xModifyEventForwarder;
- {
- MutexGuard aGuard( GetMutex() );
- xModifyEventForwarder = m_xModifyEventForwarder;
- std::swap( aOldAttributedDataPoints, m_aAttributedDataPoints );
- }
- ModifyListenerHelper::removeListenerFromAllMapElements( aOldAttributedDataPoints, xModifyEventForwarder );
- aOldAttributedDataPoints.clear();
- fireModifyEvent();
-}
-
-// ____ XDataSink ____
-void SAL_CALL DataSeries::setData( const uno::Sequence< Reference< chart2::data::XLabeledDataSequence > >& aData )
- throw (uno::RuntimeException)
-{
- tDataSequenceContainer aOldDataSequences;
- tDataSequenceContainer aNewDataSequences;
- Reference< util::XModifyListener > xModifyEventForwarder;
- Reference< lang::XEventListener > xListener;
- {
- MutexGuard aGuard( GetMutex() );
- xModifyEventForwarder = m_xModifyEventForwarder;
- xListener = this;
- std::swap( aOldDataSequences, m_aDataSequences );
- aNewDataSequences = ContainerHelper::SequenceToVector( aData );
- m_aDataSequences = aNewDataSequences;
- }
- ModifyListenerHelper::removeListenerFromAllElements( aOldDataSequences, xModifyEventForwarder );
- EventListenerHelper::removeListenerFromAllElements( aOldDataSequences, xListener );
- EventListenerHelper::addListenerToAllElements( aNewDataSequences, xListener );
- ModifyListenerHelper::addListenerToAllElements( aNewDataSequences, xModifyEventForwarder );
- fireModifyEvent();
-}
-
-// ____ XDataSource ____
-Sequence< Reference< chart2::data::XLabeledDataSequence > > SAL_CALL DataSeries::getDataSequences()
- throw (uno::RuntimeException)
-{
- MutexGuard aGuard( GetMutex() );
- return ContainerHelper::ContainerToSequence( m_aDataSequences );
-}
-
-
-// ____ XRegressionCurveContainer ____
-void SAL_CALL DataSeries::addRegressionCurve(
- const uno::Reference< chart2::XRegressionCurve >& xRegressionCurve )
- throw (lang::IllegalArgumentException,
- uno::RuntimeException)
-{
- Reference< util::XModifyListener > xModifyEventForwarder;
- {
- MutexGuard aGuard( GetMutex() );
- xModifyEventForwarder = m_xModifyEventForwarder;
- if( ::std::find( m_aRegressionCurves.begin(), m_aRegressionCurves.end(), xRegressionCurve )
- != m_aRegressionCurves.end())
- throw lang::IllegalArgumentException();
- m_aRegressionCurves.push_back( xRegressionCurve );
- }
- ModifyListenerHelper::addListener( xRegressionCurve, xModifyEventForwarder );
- fireModifyEvent();
-}
-
-void SAL_CALL DataSeries::removeRegressionCurve(
- const uno::Reference< chart2::XRegressionCurve >& xRegressionCurve )
- throw (container::NoSuchElementException,
- uno::RuntimeException)
-{
- if( !xRegressionCurve.is() )
- throw container::NoSuchElementException();
-
- Reference< util::XModifyListener > xModifyEventForwarder;
- {
- MutexGuard aGuard( GetMutex() );
- xModifyEventForwarder = m_xModifyEventForwarder;
- tRegressionCurveContainerType::iterator aIt(
- ::std::find( m_aRegressionCurves.begin(), m_aRegressionCurves.end(), xRegressionCurve ) );
- if( aIt == m_aRegressionCurves.end())
- throw container::NoSuchElementException(
- C2U( "The given regression curve is no element of this series" ),
- static_cast< uno::XWeak * >( this ));
- m_aRegressionCurves.erase( aIt );
- }
-
- ModifyListenerHelper::removeListener( xRegressionCurve, xModifyEventForwarder );
- fireModifyEvent();
-}
-
-uno::Sequence< uno::Reference< chart2::XRegressionCurve > > SAL_CALL DataSeries::getRegressionCurves()
- throw (uno::RuntimeException)
-{
- MutexGuard aGuard( GetMutex() );
- return ContainerHelper::ContainerToSequence( m_aRegressionCurves );
-}
-
-void SAL_CALL DataSeries::setRegressionCurves(
- const Sequence< Reference< chart2::XRegressionCurve > >& aRegressionCurves )
- throw (uno::RuntimeException)
-{
- tRegressionCurveContainerType aOldCurves;
- tRegressionCurveContainerType aNewCurves( ContainerHelper::SequenceToVector( aRegressionCurves ) );
- Reference< util::XModifyListener > xModifyEventForwarder;
- {
- MutexGuard aGuard( GetMutex() );
- xModifyEventForwarder = m_xModifyEventForwarder;
- std::swap( aOldCurves, m_aRegressionCurves );
- m_aRegressionCurves = aNewCurves;
- }
- ModifyListenerHelper::removeListenerFromAllElements( aOldCurves, xModifyEventForwarder );
- ModifyListenerHelper::addListenerToAllElements( aNewCurves, xModifyEventForwarder );
- fireModifyEvent();
-}
-
-// ____ XModifyBroadcaster ____
-void SAL_CALL DataSeries::addModifyListener( const Reference< util::XModifyListener >& aListener )
- throw (uno::RuntimeException)
-{
- try
- {
- Reference< util::XModifyBroadcaster > xBroadcaster( m_xModifyEventForwarder, uno::UNO_QUERY_THROW );
- xBroadcaster->addModifyListener( aListener );
- }
- catch( const uno::Exception & ex )
- {
- ASSERT_EXCEPTION( ex );
- }
-}
-
-void SAL_CALL DataSeries::removeModifyListener( const Reference< util::XModifyListener >& aListener )
- throw (uno::RuntimeException)
-{
- try
- {
- Reference< util::XModifyBroadcaster > xBroadcaster( m_xModifyEventForwarder, uno::UNO_QUERY_THROW );
- xBroadcaster->removeModifyListener( aListener );
- }
- catch( const uno::Exception & ex )
- {
- ASSERT_EXCEPTION( ex );
- }
-}
-
-// ____ XModifyListener ____
-void SAL_CALL DataSeries::modified( const lang::EventObject& aEvent )
- throw (uno::RuntimeException)
-{
- m_xModifyEventForwarder->modified( aEvent );
-}
-
-// ____ XEventListener (base of XModifyListener) ____
-void SAL_CALL DataSeries::disposing( const lang::EventObject& rEventObject )
- throw (uno::RuntimeException)
-{
- // forget disposed data sequences
- tDataSequenceContainer::iterator aIt(
- ::std::find( m_aDataSequences.begin(), m_aDataSequences.end(), rEventObject.Source ));
- if( aIt != m_aDataSequences.end())
- m_aDataSequences.erase( aIt );
-}
-
-// ____ OPropertySet ____
-void DataSeries::firePropertyChangeEvent()
-{
- fireModifyEvent();
-}
-
-void DataSeries::fireModifyEvent()
-{
- m_xModifyEventForwarder->modified( lang::EventObject( static_cast< uno::XWeak* >( this )));
-}
-
-
-// ================================================================================
-
-using impl::DataSeries_Base;
-using ::property::OPropertySet;
-
-IMPLEMENT_FORWARD_XINTERFACE2( DataSeries, DataSeries_Base, OPropertySet )
-IMPLEMENT_FORWARD_XTYPEPROVIDER2( DataSeries, DataSeries_Base, OPropertySet )
-
-// implement XServiceInfo methods basing upon getSupportedServiceNames_Static
-APPHELPER_XSERVICEINFO_IMPL( DataSeries,
- C2U( "com.sun.star.comp.chart.DataSeries" ));
-
-} // namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */