summaryrefslogtreecommitdiff
path: root/chart2/source/tools/RegressionCurveModel.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'chart2/source/tools/RegressionCurveModel.cxx')
-rw-r--r--chart2/source/tools/RegressionCurveModel.cxx444
1 files changed, 0 insertions, 444 deletions
diff --git a/chart2/source/tools/RegressionCurveModel.cxx b/chart2/source/tools/RegressionCurveModel.cxx
deleted file mode 100644
index 27a5156e8..000000000
--- a/chart2/source/tools/RegressionCurveModel.cxx
+++ /dev/null
@@ -1,444 +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 "RegressionCurveModel.hxx"
-#include "macros.hxx"
-#include "LineProperties.hxx"
-#include "RegressionCurveHelper.hxx"
-#include "RegressionCalculationHelper.hxx"
-#include "RegressionEquation.hxx"
-#include "ContainerHelper.hxx"
-#include "CloneHelper.hxx"
-#include "PropertyHelper.hxx"
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#include <rtl/math.hxx>
-#include <rtl/ustrbuf.hxx>
-
-using namespace ::com::sun::star;
-
-using ::rtl::OUString;
-using ::rtl::OUStringBuffer;
-using ::com::sun::star::beans::Property;
-using ::osl::MutexGuard;
-
-namespace
-{
-static const OUString lcl_aImplementationName_MeanValue(
- RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.chart2.MeanValueRegressionCurve" ));
-static const OUString lcl_aImplementationName_Linear(
- RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.chart2.LinearRegressionCurve" ));
-static const OUString lcl_aImplementationName_Logarithmic(
- RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.chart2.LogarithmicRegressionCurve" ));
-static const OUString lcl_aImplementationName_Exponential(
- RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.chart2.ExponentialRegressionCurve" ));
-static const OUString lcl_aImplementationName_Potential(
- RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.chart2.PotentialRegressionCurve" ));
-
-static const OUString lcl_aServiceName(
- RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart2.RegressionCurve" ));
-
-struct StaticXXXDefaults_Initializer
-{
- ::chart::tPropertyValueMap* operator()()
- {
- static ::chart::tPropertyValueMap aStaticDefaults;
- lcl_AddDefaultsToMap( aStaticDefaults );
- return &aStaticDefaults;
- }
-private:
- void lcl_AddDefaultsToMap( ::chart::tPropertyValueMap & rOutMap )
- {
- ::chart::LineProperties::AddDefaultsToMap( rOutMap );
- }
-};
-
-struct StaticXXXDefaults : public rtl::StaticAggregate< ::chart::tPropertyValueMap, StaticXXXDefaults_Initializer >
-{
-};
-
-struct StaticRegressionCurveInfoHelper_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::LineProperties::AddPropertiesToVector( aProperties );
-
- ::std::sort( aProperties.begin(), aProperties.end(),
- ::chart::PropertyNameLess() );
-
- return ::chart::ContainerHelper::ContainerToSequence( aProperties );
- }
-};
-
-struct StaticRegressionCurveInfoHelper : public rtl::StaticAggregate< ::cppu::OPropertyArrayHelper, StaticRegressionCurveInfoHelper_Initializer >
-{
-};
-
-struct StaticRegressionCurveInfo_Initializer
-{
- uno::Reference< beans::XPropertySetInfo >* operator()()
- {
- static uno::Reference< beans::XPropertySetInfo > xPropertySetInfo(
- ::cppu::OPropertySetHelper::createPropertySetInfo(*StaticRegressionCurveInfoHelper::get() ) );
- return &xPropertySetInfo;
- }
-};
-
-struct StaticRegressionCurveInfo : public rtl::StaticAggregate< uno::Reference< beans::XPropertySetInfo >, StaticRegressionCurveInfo_Initializer >
-{
-};
-
-} // anonymous namespace
-
-namespace chart
-{
-
-RegressionCurveModel::RegressionCurveModel(
- uno::Reference< uno::XComponentContext > const & xContext,
- tCurveType eCurveType ) :
- ::property::OPropertySet( m_aMutex ),
- m_xContext( xContext ),
- m_eRegressionCurveType( eCurveType ),
- m_xModifyEventForwarder( ModifyListenerHelper::createModifyEventForwarder()),
- m_xEquationProperties( new RegressionEquation( xContext ))
-{
- // set 0 line width (default) hard, so that it is always written to XML,
- // because the old implementation uses different defaults
- setFastPropertyValue_NoBroadcast(
- LineProperties::PROP_LINE_WIDTH, uno::makeAny( sal_Int32( 0 )));
- ModifyListenerHelper::addListener( m_xEquationProperties, m_xModifyEventForwarder );
-}
-
-RegressionCurveModel::RegressionCurveModel( const RegressionCurveModel & rOther ) :
- MutexContainer(),
- impl::RegressionCurveModel_Base(),
- ::property::OPropertySet( rOther, m_aMutex ),
- m_xContext( rOther.m_xContext ),
- m_eRegressionCurveType( rOther.m_eRegressionCurveType ),
- m_xModifyEventForwarder( ModifyListenerHelper::createModifyEventForwarder())
-{
- m_xEquationProperties.set( CloneHelper::CreateRefClone< uno::Reference< beans::XPropertySet > >()( rOther.m_xEquationProperties ));
- ModifyListenerHelper::addListener( m_xEquationProperties, m_xModifyEventForwarder );
-}
-
-RegressionCurveModel::~RegressionCurveModel()
-{}
-
-// ____ XRegressionCurve ____
-uno::Reference< chart2::XRegressionCurveCalculator > SAL_CALL
- RegressionCurveModel::getCalculator()
- throw (uno::RuntimeException)
-{
- return RegressionCurveHelper::createRegressionCurveCalculatorByServiceName( getServiceName());
-}
-
-uno::Reference< beans::XPropertySet > SAL_CALL RegressionCurveModel::getEquationProperties()
- throw (uno::RuntimeException)
-{
- return m_xEquationProperties;
-}
-
-void SAL_CALL RegressionCurveModel::setEquationProperties( const uno::Reference< beans::XPropertySet >& xEquationProperties )
- throw (uno::RuntimeException)
-{
- if( xEquationProperties.is())
- {
- if( m_xEquationProperties.is())
- ModifyListenerHelper::removeListener( m_xEquationProperties, m_xModifyEventForwarder );
-
- m_xEquationProperties.set( xEquationProperties );
- ModifyListenerHelper::addListener( m_xEquationProperties, m_xModifyEventForwarder );
- fireModifyEvent();
- }
-}
-
-// ____ XServiceName ____
-::rtl::OUString SAL_CALL RegressionCurveModel::getServiceName()
- throw (uno::RuntimeException)
-{
- switch( m_eRegressionCurveType )
- {
- case CURVE_TYPE_MEAN_VALUE:
- return C2U( "com.sun.star.chart2.MeanValueRegressionCurve" );
- case CURVE_TYPE_LINEAR:
- return C2U( "com.sun.star.chart2.LinearRegressionCurve" );
- case CURVE_TYPE_LOGARITHM:
- return C2U( "com.sun.star.chart2.LogarithmicRegressionCurve" );
- case CURVE_TYPE_EXPONENTIAL:
- return C2U( "com.sun.star.chart2.ExponentialRegressionCurve" );
- case CURVE_TYPE_POWER:
- return C2U( "com.sun.star.chart2.PotentialRegressionCurve" );
- }
-
- return ::rtl::OUString();
-}
-
-// ____ XModifyBroadcaster ____
-void SAL_CALL RegressionCurveModel::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 RegressionCurveModel::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 RegressionCurveModel::modified( const lang::EventObject& aEvent )
- throw (uno::RuntimeException)
-{
- m_xModifyEventForwarder->modified( aEvent );
-}
-
-// ____ XEventListener (base of XModifyListener) ____
-void SAL_CALL RegressionCurveModel::disposing( const lang::EventObject& /* Source */ )
- throw (uno::RuntimeException)
-{
- // nothing
-}
-
-// ____ OPropertySet ____
-void RegressionCurveModel::firePropertyChangeEvent()
-{
- fireModifyEvent();
-}
-
-void RegressionCurveModel::fireModifyEvent()
-{
- m_xModifyEventForwarder->modified( lang::EventObject( static_cast< uno::XWeak* >( this )));
-}
-
-// ================================================================================
-
-// ____ OPropertySet ____
-uno::Any RegressionCurveModel::GetDefaultValue( sal_Int32 nHandle ) const
- throw(beans::UnknownPropertyException)
-{
- const tPropertyValueMap& rStaticDefaults = *StaticXXXDefaults::get();
- tPropertyValueMap::const_iterator aFound( rStaticDefaults.find( nHandle ) );
- if( aFound == rStaticDefaults.end() )
- return uno::Any();
- return (*aFound).second;
-}
-
-::cppu::IPropertyArrayHelper & SAL_CALL RegressionCurveModel::getInfoHelper()
-{
- return *StaticRegressionCurveInfoHelper::get();
-}
-
-// ____ XPropertySet ____
-uno::Reference< beans::XPropertySetInfo > SAL_CALL RegressionCurveModel::getPropertySetInfo()
- throw (uno::RuntimeException)
-{
- return *StaticRegressionCurveInfo::get();
-}
-
-// ================================================================================
-
-// needed by MSC compiler
-using impl::RegressionCurveModel_Base;
-
-IMPLEMENT_FORWARD_XINTERFACE2( RegressionCurveModel, RegressionCurveModel_Base, OPropertySet )
-IMPLEMENT_FORWARD_XTYPEPROVIDER2( RegressionCurveModel, RegressionCurveModel_Base, OPropertySet )
-
-
-
-// implementations
-
-// --------------------------------------------------------------------------------
-
-MeanValueRegressionCurve::MeanValueRegressionCurve(
- const uno::Reference< uno::XComponentContext > & xContext )
- : RegressionCurveModel( xContext, RegressionCurveModel::CURVE_TYPE_MEAN_VALUE )
-{}
-MeanValueRegressionCurve::MeanValueRegressionCurve(
- const MeanValueRegressionCurve & rOther ) :
- RegressionCurveModel( rOther )
-{}
-MeanValueRegressionCurve::~MeanValueRegressionCurve()
-{}
-uno::Sequence< ::rtl::OUString > MeanValueRegressionCurve::getSupportedServiceNames_Static()
-{
- uno::Sequence< ::rtl::OUString > aServices( 2 );
- aServices[ 0 ] = lcl_aServiceName;
- aServices[ 1 ] = C2U( "com.sun.star.chart2.MeanValueRegressionCurve" );
- return aServices;
-}
-// implement XServiceInfo methods basing upon getSupportedServiceNames_Static
-APPHELPER_XSERVICEINFO_IMPL( MeanValueRegressionCurve, lcl_aImplementationName_MeanValue );
-
-uno::Reference< util::XCloneable > SAL_CALL MeanValueRegressionCurve::createClone()
- throw (uno::RuntimeException)
-{
- return uno::Reference< util::XCloneable >( new MeanValueRegressionCurve( *this ));
-}
-
-// --------------------------------------------------------------------------------
-
-LinearRegressionCurve::LinearRegressionCurve(
- const uno::Reference< uno::XComponentContext > & xContext )
- : RegressionCurveModel( xContext, RegressionCurveModel::CURVE_TYPE_LINEAR )
-{}
-LinearRegressionCurve::LinearRegressionCurve(
- const LinearRegressionCurve & rOther ) :
- RegressionCurveModel( rOther )
-{}
-LinearRegressionCurve::~LinearRegressionCurve()
-{}
-uno::Sequence< ::rtl::OUString > LinearRegressionCurve::getSupportedServiceNames_Static()
-{
- uno::Sequence< ::rtl::OUString > aServices( 2 );
- aServices[ 0 ] = lcl_aServiceName;
- aServices[ 1 ] = C2U( "com.sun.star.chart2.LinearRegressionCurve" );
- return aServices;
-}
-// implement XServiceInfo methods basing upon getSupportedServiceNames_Static
-APPHELPER_XSERVICEINFO_IMPL( LinearRegressionCurve, lcl_aImplementationName_Linear );
-
-uno::Reference< util::XCloneable > SAL_CALL LinearRegressionCurve::createClone()
- throw (uno::RuntimeException)
-{
- return uno::Reference< util::XCloneable >( new LinearRegressionCurve( *this ));
-}
-
-// --------------------------------------------------------------------------------
-
-LogarithmicRegressionCurve::LogarithmicRegressionCurve(
- const uno::Reference< uno::XComponentContext > & xContext )
- : RegressionCurveModel( xContext, RegressionCurveModel::CURVE_TYPE_LOGARITHM )
-{}
-LogarithmicRegressionCurve::LogarithmicRegressionCurve(
- const LogarithmicRegressionCurve & rOther ) :
- RegressionCurveModel( rOther )
-{}
-LogarithmicRegressionCurve::~LogarithmicRegressionCurve()
-{}
-uno::Sequence< ::rtl::OUString > LogarithmicRegressionCurve::getSupportedServiceNames_Static()
-{
- uno::Sequence< ::rtl::OUString > aServices( 2 );
- aServices[ 0 ] = lcl_aServiceName;
- aServices[ 1 ] = C2U( "com.sun.star.chart2.LogarithmicRegressionCurve" );
- return aServices;
-}
-// implement XServiceInfo methods basing upon getSupportedServiceNames_Static
-APPHELPER_XSERVICEINFO_IMPL( LogarithmicRegressionCurve, lcl_aImplementationName_Logarithmic );
-
-uno::Reference< util::XCloneable > SAL_CALL LogarithmicRegressionCurve::createClone()
- throw (uno::RuntimeException)
-{
- return uno::Reference< util::XCloneable >( new LogarithmicRegressionCurve( *this ));
-}
-
-// --------------------------------------------------------------------------------
-
-ExponentialRegressionCurve::ExponentialRegressionCurve(
- const uno::Reference< uno::XComponentContext > & xContext )
- : RegressionCurveModel( xContext, RegressionCurveModel::CURVE_TYPE_EXPONENTIAL )
-{}
-ExponentialRegressionCurve::ExponentialRegressionCurve(
- const ExponentialRegressionCurve & rOther ) :
- RegressionCurveModel( rOther )
-{}
-ExponentialRegressionCurve::~ExponentialRegressionCurve()
-{}
-uno::Sequence< ::rtl::OUString > ExponentialRegressionCurve::getSupportedServiceNames_Static()
-{
- uno::Sequence< ::rtl::OUString > aServices( 2 );
- aServices[ 0 ] = lcl_aServiceName;
- aServices[ 1 ] = C2U( "com.sun.star.chart2.ExponentialRegressionCurve" );
- return aServices;
-}
-// implement XServiceInfo methods basing upon getSupportedServiceNames_Static
-APPHELPER_XSERVICEINFO_IMPL( ExponentialRegressionCurve, lcl_aImplementationName_Exponential );
-
-uno::Reference< util::XCloneable > SAL_CALL ExponentialRegressionCurve::createClone()
- throw (uno::RuntimeException)
-{
- return uno::Reference< util::XCloneable >( new ExponentialRegressionCurve( *this ));
-}
-
-// --------------------------------------------------------------------------------
-
-PotentialRegressionCurve::PotentialRegressionCurve(
- const uno::Reference< uno::XComponentContext > & xContext )
- : RegressionCurveModel( xContext, RegressionCurveModel::CURVE_TYPE_POWER )
-{}
-PotentialRegressionCurve::PotentialRegressionCurve(
- const PotentialRegressionCurve & rOther ) :
- RegressionCurveModel( rOther )
-{}
-PotentialRegressionCurve::~PotentialRegressionCurve()
-{}
-uno::Sequence< ::rtl::OUString > PotentialRegressionCurve::getSupportedServiceNames_Static()
-{
- uno::Sequence< ::rtl::OUString > aServices( 2 );
- aServices[ 0 ] = lcl_aServiceName;
- aServices[ 1 ] = C2U( "com.sun.star.chart2.PotentialRegressionCurve" );
- return aServices;
-}
-// implement XServiceInfo methods basing upon getSupportedServiceNames_Static
-APPHELPER_XSERVICEINFO_IMPL( PotentialRegressionCurve, lcl_aImplementationName_Potential );
-
-uno::Reference< util::XCloneable > SAL_CALL PotentialRegressionCurve::createClone()
- throw (uno::RuntimeException)
-{
- return uno::Reference< util::XCloneable >( new PotentialRegressionCurve( *this ));
-}
-
-
-} // namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */