summaryrefslogtreecommitdiff
path: root/chart2/source/model/template/ChartType.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'chart2/source/model/template/ChartType.cxx')
-rw-r--r--chart2/source/model/template/ChartType.cxx331
1 files changed, 0 insertions, 331 deletions
diff --git a/chart2/source/model/template/ChartType.cxx b/chart2/source/model/template/ChartType.cxx
deleted file mode 100644
index 90c8c771d..000000000
--- a/chart2/source/model/template/ChartType.cxx
+++ /dev/null
@@ -1,331 +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 "ChartType.hxx"
-#include "PropertyHelper.hxx"
-#include "CommonFunctors.hxx"
-#include "macros.hxx"
-#include "CartesianCoordinateSystem.hxx"
-#include "AxisHelper.hxx"
-#include "CloneHelper.hxx"
-#include "AxisIndexDefines.hxx"
-#include "ContainerHelper.hxx"
-#include <com/sun/star/chart2/AxisType.hpp>
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-
-using namespace ::com::sun::star;
-
-using ::rtl::OUString;
-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 ::osl::MutexGuard;
-
-namespace chart
-{
-
-ChartType::ChartType(
- const Reference< uno::XComponentContext > & xContext ) :
- ::property::OPropertySet( m_aMutex ),
- m_xModifyEventForwarder( ModifyListenerHelper::createModifyEventForwarder()),
- m_xContext( xContext ),
- m_bNotifyChanges( true )
-{}
-
-ChartType::ChartType( const ChartType & rOther ) :
- MutexContainer(),
- impl::ChartType_Base(),
- ::property::OPropertySet( rOther, m_aMutex ),
- m_xModifyEventForwarder( ModifyListenerHelper::createModifyEventForwarder()),
- m_xContext( rOther.m_xContext ),
- m_bNotifyChanges( true )
-{
- CloneHelper::CloneRefVector< Reference< chart2::XDataSeries > >( rOther.m_aDataSeries, m_aDataSeries );
- ModifyListenerHelper::addListenerToAllElements( m_aDataSeries, m_xModifyEventForwarder );
-}
-
-ChartType::~ChartType()
-{
- ModifyListenerHelper::removeListenerFromAllElements( m_aDataSeries, m_xModifyEventForwarder );
- m_aDataSeries.clear();
-}
-
-Reference< uno::XComponentContext > ChartType::GetComponentContext() const
-{
- return m_xContext;
-}
-
-// ____ XChartType ____
-Reference< chart2::XCoordinateSystem > SAL_CALL
- ChartType::createCoordinateSystem( ::sal_Int32 DimensionCount )
- throw (lang::IllegalArgumentException,
- uno::RuntimeException)
-{
- Reference< chart2::XCoordinateSystem > xResult(
- new CartesianCoordinateSystem(
- GetComponentContext(), DimensionCount, /* bSwapXAndYAxis */ sal_False ));
-
- for( sal_Int32 i=0; i<DimensionCount; ++i )
- {
- Reference< chart2::XAxis > xAxis( xResult->getAxisByDimension( i, MAIN_AXIS_INDEX ) );
- if( !xAxis.is() )
- {
- OSL_FAIL("a created coordinate system should have an axis for each dimension");
- continue;
- }
-
- chart2::ScaleData aScaleData = xAxis->getScaleData();
- aScaleData.Orientation = chart2::AxisOrientation_MATHEMATICAL;
- aScaleData.Scaling = AxisHelper::createLinearScaling();
-
- switch( i )
- {
- case 0: aScaleData.AxisType = chart2::AxisType::CATEGORY; break;
- case 2: aScaleData.AxisType = chart2::AxisType::SERIES; break;
- default: aScaleData.AxisType = chart2::AxisType::REALNUMBER; break;
- }
-
- xAxis->setScaleData( aScaleData );
- }
-
- return xResult;
-}
-
-Sequence< OUString > SAL_CALL ChartType::getSupportedMandatoryRoles()
- throw (uno::RuntimeException)
-{
- Sequence< OUString > aDefaultSeq(2);
- aDefaultSeq[0] = C2U( "label" );
- aDefaultSeq[1] = C2U( "values-y" );
- return aDefaultSeq;
-}
-
-Sequence< OUString > SAL_CALL ChartType::getSupportedOptionalRoles()
- throw (uno::RuntimeException)
-{
- return Sequence< OUString >();
-}
-
-OUString SAL_CALL ChartType::getRoleOfSequenceForSeriesLabel()
- throw (uno::RuntimeException)
-{
- return C2U( "values-y" );
-}
-
-void ChartType::impl_addDataSeriesWithoutNotification(
- const Reference< chart2::XDataSeries >& xDataSeries )
-{
- if( ::std::find( m_aDataSeries.begin(), m_aDataSeries.end(), xDataSeries )
- != m_aDataSeries.end())
- throw lang::IllegalArgumentException();
-
- m_aDataSeries.push_back( xDataSeries );
- ModifyListenerHelper::addListener( xDataSeries, m_xModifyEventForwarder );
-}
-
-// ____ XDataSeriesContainer ____
-void SAL_CALL ChartType::addDataSeries( const Reference< chart2::XDataSeries >& xDataSeries )
- throw (lang::IllegalArgumentException,
- uno::RuntimeException)
-{
- impl_addDataSeriesWithoutNotification( xDataSeries );
- fireModifyEvent();
-}
-
-void SAL_CALL ChartType::removeDataSeries( const Reference< chart2::XDataSeries >& xDataSeries )
- throw (container::NoSuchElementException,
- uno::RuntimeException)
-{
- if( !xDataSeries.is())
- throw container::NoSuchElementException();
-
- tDataSeriesContainerType::iterator aIt(
- ::std::find( m_aDataSeries.begin(), m_aDataSeries.end(), xDataSeries ) );
-
- if( aIt == m_aDataSeries.end())
- throw container::NoSuchElementException(
- C2U( "The given series is no element of this charttype" ),
- static_cast< uno::XWeak * >( this ));
-
- ModifyListenerHelper::removeListener( xDataSeries, m_xModifyEventForwarder );
- m_aDataSeries.erase( aIt );
- fireModifyEvent();
-}
-
-Sequence< Reference< chart2::XDataSeries > > SAL_CALL ChartType::getDataSeries()
- throw (uno::RuntimeException)
-{
- return ContainerHelper::ContainerToSequence( m_aDataSeries );
-}
-
-void SAL_CALL ChartType::setDataSeries( const Sequence< Reference< chart2::XDataSeries > >& aDataSeries )
- throw (lang::IllegalArgumentException,
- uno::RuntimeException)
-{
- m_bNotifyChanges = false;
- try
- {
- Sequence< Reference< chart2::XDataSeries > > aOldSeries( this->getDataSeries() );
- for( sal_Int32 nN=0; nN<aOldSeries.getLength(); ++nN )
- ModifyListenerHelper::removeListener( aOldSeries[nN], m_xModifyEventForwarder );
- m_aDataSeries.clear();
-
- for( sal_Int32 i=0; i<aDataSeries.getLength(); ++i )
- impl_addDataSeriesWithoutNotification( aDataSeries[i] );
- }
- catch( ... )
- {
- m_bNotifyChanges = true;
- throw;
- }
- m_bNotifyChanges = true;
- fireModifyEvent();
-}
-
-// ____ OPropertySet ____
-uno::Any ChartType::GetDefaultValue( sal_Int32 /* nHandle */ ) const
- throw(beans::UnknownPropertyException)
-{
- return uno::Any();
-}
-
-namespace
-{
-
-struct StaticChartTypeInfoHelper_Initializer
-{
- ::cppu::OPropertyArrayHelper* operator()()
- {
- // using assignment for broken gcc 3.3
- static ::cppu::OPropertyArrayHelper aPropHelper = ::cppu::OPropertyArrayHelper(
- Sequence< beans::Property >() );
- return &aPropHelper;
- }
-};
-
-struct StaticChartTypeInfoHelper : public rtl::StaticAggregate< ::cppu::OPropertyArrayHelper, StaticChartTypeInfoHelper_Initializer >
-{
-};
-
-struct StaticChartTypeInfo_Initializer
-{
- uno::Reference< beans::XPropertySetInfo >* operator()()
- {
- static uno::Reference< beans::XPropertySetInfo > xPropertySetInfo(
- ::cppu::OPropertySetHelper::createPropertySetInfo(*StaticChartTypeInfoHelper::get() ) );
- return &xPropertySetInfo;
- }
-};
-
-struct StaticChartTypeInfo : public rtl::StaticAggregate< uno::Reference< beans::XPropertySetInfo >, StaticChartTypeInfo_Initializer >
-{
-};
-
-}
-
-// ____ OPropertySet ____
-::cppu::IPropertyArrayHelper & SAL_CALL ChartType::getInfoHelper()
-{
- return *StaticChartTypeInfoHelper::get();
-}
-
-// ____ XPropertySet ____
-uno::Reference< beans::XPropertySetInfo > SAL_CALL ChartType::getPropertySetInfo()
- throw (uno::RuntimeException)
-{
- return *StaticChartTypeInfo::get();
-}
-
-// ____ XModifyBroadcaster ____
-void SAL_CALL ChartType::addModifyListener( const uno::Reference< util::XModifyListener >& aListener )
- throw (uno::RuntimeException)
-{
- try
- {
- uno::Reference< util::XModifyBroadcaster > xBroadcaster( m_xModifyEventForwarder, uno::UNO_QUERY_THROW );
- xBroadcaster->addModifyListener( aListener );
- }
- catch( const uno::Exception & ex )
- {
- ASSERT_EXCEPTION( ex );
- }
-}
-
-void SAL_CALL ChartType::removeModifyListener( const uno::Reference< util::XModifyListener >& aListener )
- throw (uno::RuntimeException)
-{
- try
- {
- uno::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 ChartType::modified( const lang::EventObject& aEvent )
- throw (uno::RuntimeException)
-{
- m_xModifyEventForwarder->modified( aEvent );
-}
-
-// ____ XEventListener (base of XModifyListener) ____
-void SAL_CALL ChartType::disposing( const lang::EventObject& /* Source */ )
- throw (uno::RuntimeException)
-{
- // nothing
-}
-
-// ____ OPropertySet ____
-void ChartType::firePropertyChangeEvent()
-{
- fireModifyEvent();
-}
-
-void ChartType::fireModifyEvent()
-{
- if( m_bNotifyChanges )
- m_xModifyEventForwarder->modified( lang::EventObject( static_cast< uno::XWeak* >( this )));
-}
-
-// ================================================================================
-
-using impl::ChartType_Base;
-
-IMPLEMENT_FORWARD_XINTERFACE2( ChartType, ChartType_Base, ::property::OPropertySet )
-IMPLEMENT_FORWARD_XTYPEPROVIDER2( ChartType, ChartType_Base, ::property::OPropertySet )
-
-} // namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */