diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2023-03-22 10:38:50 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2023-03-22 19:58:09 +0000 |
commit | c00cd73f15606d4e0fc942ddbb1ab734b83fc8c7 (patch) | |
tree | 0907e8e61be0a4c6d12918acfa8b3301c3d59209 | |
parent | 88047257087350497009e418850a90f1cd34310a (diff) |
use more concrete type in chart2
Change-Id: I92e0cb707b0fdd8e82ba350919294584904f2c68
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149333
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r-- | chart2/source/inc/RegressionCurveCalculator.hxx | 44 | ||||
-rw-r--r-- | chart2/source/inc/RegressionCurveHelper.hxx | 3 | ||||
-rw-r--r-- | chart2/source/tools/RegressionCurveHelper.cxx | 4 | ||||
-rw-r--r-- | chart2/source/tools/RegressionCurveModel.cxx | 1 | ||||
-rw-r--r-- | chart2/source/view/main/VDataSeries.cxx | 5 |
5 files changed, 30 insertions, 27 deletions
diff --git a/chart2/source/inc/RegressionCurveCalculator.hxx b/chart2/source/inc/RegressionCurveCalculator.hxx index 6cf1f2914d5b..ebb3ad40f616 100644 --- a/chart2/source/inc/RegressionCurveCalculator.hxx +++ b/chart2/source/inc/RegressionCurveCalculator.hxx @@ -42,28 +42,6 @@ public: static bool isLogarithmicScaling( const css::uno::Reference< css::chart2::XScaling >& xScaling ); -protected: - virtual OUString ImplGetRepresentation( - const css::uno::Reference< css::util::XNumberFormatter >& xNumFormatter, - sal_Int32 nNumberFormatKey, sal_Int32* pFormulaLength = nullptr ) const = 0; - - static OUString getFormattedString( - const css::uno::Reference< css::util::XNumberFormatter >& xNumFormatter, - sal_Int32 nNumberFormatKey, - double fNumber, - const sal_Int32* pStringLength ); - - static void addStringToEquation( OUStringBuffer& aStrEquation, sal_Int32& nLineLength, OUStringBuffer const & aAddString, const sal_Int32* pMaxLength ); - - double m_fCorrelationCoefficient; - - sal_Int32 mDegree; - bool mForceIntercept; - double mInterceptValue; - sal_Int32 mPeriod; - OUString mXName, mYName; - sal_Int32 mnMovingType; - // ____ XRegressionCurveCalculator ____ virtual void SAL_CALL setRegressionProperties( sal_Int32 aDegree, @@ -96,6 +74,28 @@ protected: virtual void SAL_CALL setXYNames( const OUString& aXName, const OUString& aYName ) override; + +protected: + virtual OUString ImplGetRepresentation( + const css::uno::Reference< css::util::XNumberFormatter >& xNumFormatter, + sal_Int32 nNumberFormatKey, sal_Int32* pFormulaLength = nullptr ) const = 0; + + static OUString getFormattedString( + const css::uno::Reference< css::util::XNumberFormatter >& xNumFormatter, + sal_Int32 nNumberFormatKey, + double fNumber, + const sal_Int32* pStringLength ); + + static void addStringToEquation( OUStringBuffer& aStrEquation, sal_Int32& nLineLength, OUStringBuffer const & aAddString, const sal_Int32* pMaxLength ); + + double m_fCorrelationCoefficient; + + sal_Int32 mDegree; + bool mForceIntercept; + double mInterceptValue; + sal_Int32 mPeriod; + OUString mXName, mYName; + sal_Int32 mnMovingType; }; } // namespace chart diff --git a/chart2/source/inc/RegressionCurveHelper.hxx b/chart2/source/inc/RegressionCurveHelper.hxx index d8e35a25f089..9f1b935c0d01 100644 --- a/chart2/source/inc/RegressionCurveHelper.hxx +++ b/chart2/source/inc/RegressionCurveHelper.hxx @@ -35,6 +35,7 @@ namespace com::sun::star::frame { class XModel; } namespace chart { class ChartModel; } namespace chart { class DataSeries; } namespace chart { class RegressionCurveModel; } +namespace chart { class RegressionCurveCalculator; } namespace chart::RegressionCurveHelper { @@ -140,7 +141,7 @@ namespace chart::RegressionCurveHelper css::uno::Reference<css::chart2::XRegressionCurve> const & xRegressionCurve ); /// returns a calculator object for regression curves (used by the view) - OOO_DLLPUBLIC_CHARTTOOLS css::uno::Reference<css::chart2::XRegressionCurveCalculator> + OOO_DLLPUBLIC_CHARTTOOLS rtl::Reference<::chart::RegressionCurveCalculator> createRegressionCurveCalculatorByServiceName( std::u16string_view aServiceName ); /** recalculates the regression parameters according to the data given in diff --git a/chart2/source/tools/RegressionCurveHelper.cxx b/chart2/source/tools/RegressionCurveHelper.cxx index 50da3958d959..0bed3ca19e16 100644 --- a/chart2/source/tools/RegressionCurveHelper.cxx +++ b/chart2/source/tools/RegressionCurveHelper.cxx @@ -135,10 +135,10 @@ rtl::Reference< RegressionCurveModel > RegressionCurveHelper::createRegressionCu return xResult; } -Reference< XRegressionCurveCalculator > RegressionCurveHelper::createRegressionCurveCalculatorByServiceName( +rtl::Reference< RegressionCurveCalculator > RegressionCurveHelper::createRegressionCurveCalculatorByServiceName( std::u16string_view aServiceName ) { - Reference< XRegressionCurveCalculator > xResult; + rtl::Reference< RegressionCurveCalculator > xResult; // todo: use factory methods with service name if( aServiceName == u"com.sun.star.chart2.MeanValueRegressionCurve" ) diff --git a/chart2/source/tools/RegressionCurveModel.cxx b/chart2/source/tools/RegressionCurveModel.cxx index d4e8d3839b95..66bd21aa84d4 100644 --- a/chart2/source/tools/RegressionCurveModel.cxx +++ b/chart2/source/tools/RegressionCurveModel.cxx @@ -19,6 +19,7 @@ #include <RegressionCurveModel.hxx> #include <LinePropertiesHelper.hxx> +#include <RegressionCurveCalculator.hxx> #include <RegressionCurveHelper.hxx> #include "RegressionEquation.hxx" #include <CloneHelper.hxx> diff --git a/chart2/source/view/main/VDataSeries.cxx b/chart2/source/view/main/VDataSeries.cxx index d1dc3db8a09c..6b6df81dde54 100644 --- a/chart2/source/view/main/VDataSeries.cxx +++ b/chart2/source/view/main/VDataSeries.cxx @@ -26,6 +26,7 @@ #include <LabelPositionHelper.hxx> #include <ChartType.hxx> #include <ChartTypeHelper.hxx> +#include <RegressionCurveCalculator.hxx> #include <RegressionCurveHelper.hxx> #include <unonames.hxx> @@ -744,7 +745,7 @@ double VDataSeries::getXMeanValue() const { if( std::isnan( m_fXMeanValue ) ) { - uno::Reference< XRegressionCurveCalculator > xCalculator( RegressionCurveHelper::createRegressionCurveCalculatorByServiceName( u"com.sun.star.chart2.MeanValueRegressionCurve" ) ); + rtl::Reference< RegressionCurveCalculator > xCalculator( RegressionCurveHelper::createRegressionCurveCalculatorByServiceName( u"com.sun.star.chart2.MeanValueRegressionCurve" ) ); uno::Sequence< double > aXValuesDummy; xCalculator->recalculateRegression( aXValuesDummy, getAllX() ); m_fXMeanValue = xCalculator->getCurveValue( 1.0 ); @@ -756,7 +757,7 @@ double VDataSeries::getYMeanValue() const { if( std::isnan( m_fYMeanValue ) ) { - uno::Reference< XRegressionCurveCalculator > xCalculator( + rtl::Reference< RegressionCurveCalculator > xCalculator( RegressionCurveHelper::createRegressionCurveCalculatorByServiceName(u"com.sun.star.chart2.MeanValueRegressionCurve")); uno::Sequence< double > aXValuesDummy; xCalculator->recalculateRegression( aXValuesDummy, getAllY() ); |