chart2/source/inc/DataSeries.hxx                             |    6 +
 chart2/source/inc/DataSeriesHelper.hxx                       |   10 --
 chart2/source/model/main/DataSeries.cxx                      |   48 +++++++++
 chart2/source/model/template/ColumnLineChartTypeTemplate.cxx |    6 -
 chart2/source/model/template/LineChartTypeTemplate.cxx       |    6 -
 chart2/source/model/template/NetChartTypeTemplate.cxx        |    6 -
 chart2/source/model/template/ScatterChartTypeTemplate.cxx    |    6 -
 chart2/source/tools/DataSeriesHelper.cxx                     |   55 -----------
 8 files changed, 66 insertions(+), 77 deletions(-)

New commits:
commit 18d5b8c5e5874685abea23e63f2f9eb41dddfc9c
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Fri Apr 11 19:06:33 2025 +0200
Commit:     Noel Grandin <noelgran...@gmail.com>
CommitDate: Sat Apr 12 19:48:03 2025 +0200

    fold DataSeriesHelper functions into DataSeries
    
    This moves functions from DataSeriesHelper to DataSeries
    where it better belongs. We can access the concrete classes now
    instead of accessing through UNO.
    
    Change-Id: I15d38c782df3b04aeb2637049ba665b1d0e060ff
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184068
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/chart2/source/inc/DataSeries.hxx b/chart2/source/inc/DataSeries.hxx
index 756c1949afc1..2327bf671753 100644
--- a/chart2/source/inc/DataSeries.hxx
+++ b/chart2/source/inc/DataSeries.hxx
@@ -166,6 +166,12 @@ public:
 
     bool isAttachedToMainAxis() { return getAttachedAxisIndex() == 0; }
 
+    void switchSymbolsOnOrOff( bool bSymbolsOn, sal_Int32 nSeriesIndex );
+
+    void switchLinesOnOrOff( bool bLinesOn );
+
+    void makeLinesThickOrThin( bool bThick );
+
 private:
 
     // late initialization to call after copy-constructing
diff --git a/chart2/source/inc/DataSeriesHelper.hxx 
b/chart2/source/inc/DataSeriesHelper.hxx
index facedfb8ce79..9bc91b49f645 100644
--- a/chart2/source/inc/DataSeriesHelper.hxx
+++ b/chart2/source/inc/DataSeriesHelper.hxx
@@ -114,16 +114,6 @@ void deleteSeries(
     const rtl::Reference< ::chart::DataSeries > & xSeries,
     const rtl::Reference< ::chart::ChartType > & xChartType );
 
-void switchSymbolsOnOrOff(
-    const rtl::Reference< ::chart::DataSeries > & xSeries,
-    bool bSymbolsOn, sal_Int32 nSeriesIndex );
-
-void switchLinesOnOrOff(
-    const rtl::Reference< ::chart::DataSeries > & xSeries,
-    bool bLinesOn );
-
-void makeLinesThickOrThin( const rtl::Reference< ::chart::DataSeries > & 
xSeries, bool bThick );
-
 void setPropertyAlsoToAllAttributedDataPoints(
         const rtl::Reference< ::chart::DataSeries >& xSeries,
         const OUString& rPropertyName,
diff --git a/chart2/source/model/main/DataSeries.cxx 
b/chart2/source/model/main/DataSeries.cxx
index 8758bbd76f63..83e3e2e9a273 100644
--- a/chart2/source/model/main/DataSeries.cxx
+++ b/chart2/source/model/main/DataSeries.cxx
@@ -27,8 +27,10 @@
 #include <CloneHelper.hxx>
 #include <RegressionCurveModel.hxx>
 #include <ModifyListenerHelper.hxx>
+#include <com/sun/star/chart2/Symbol.hpp>
 #include <com/sun/star/chart2/data/XTextualDataSequence.hpp>
 #include <com/sun/star/container/NoSuchElementException.hpp>
+#include <com/sun/star/drawing/LineStyle.hpp>
 #include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
 #include <cppuhelper/supportsservice.hxx>
 #include <comphelper/diagnose_ex.hxx>
@@ -766,6 +768,52 @@ sal_Int32 DataSeries::getAttachedAxisIndex()
     return nRet;
 }
 
+void DataSeries::switchSymbolsOnOrOff( bool bSymbolsOn, sal_Int32 nSeriesIndex 
)
+{
+    css::chart2::Symbol aSymbProp;
+    if( getPropertyValue( u"Symbol"_ustr) >>= aSymbProp )
+    {
+        if( !bSymbolsOn )
+            aSymbProp.Style = chart2::SymbolStyle_NONE;
+        else if( aSymbProp.Style == chart2::SymbolStyle_NONE )
+        {
+            aSymbProp.Style = chart2::SymbolStyle_STANDARD;
+            aSymbProp.StandardSymbol = nSeriesIndex;
+        }
+        setPropertyValue( u"Symbol"_ustr, uno::Any( aSymbProp ));
+    }
+    //todo: check attributed data points
+}
+
+void DataSeries::switchLinesOnOrOff( bool bLinesOn )
+{
+    if( bLinesOn )
+    {
+        // keep line-styles that are not NONE
+        css::drawing::LineStyle eLineStyle;
+        if( (getPropertyValue( u"LineStyle"_ustr) >>= eLineStyle ) &&
+            eLineStyle == drawing::LineStyle_NONE )
+        {
+            setPropertyValue( u"LineStyle"_ustr, uno::Any( 
drawing::LineStyle_SOLID ) );
+        }
+    }
+    else
+        setPropertyValue( u"LineStyle"_ustr, uno::Any( drawing::LineStyle_NONE 
) );
+}
+
+void DataSeries::makeLinesThickOrThin( bool bThick )
+{
+    sal_Int32 nNewValue = bThick ? 80 : 0;
+    sal_Int32 nOldValue = 0;
+    if( (getPropertyValue( u"LineWidth"_ustr) >>= nOldValue ) &&
+        nOldValue != nNewValue )
+    {
+        if( !(bThick && nOldValue>0))
+            setPropertyValue( u"LineWidth"_ustr, uno::Any( nNewValue ) );
+    }
+}
+
+
 }  // namespace chart
 
 extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface *
diff --git a/chart2/source/model/template/ColumnLineChartTypeTemplate.cxx 
b/chart2/source/model/template/ColumnLineChartTypeTemplate.cxx
index 30eb42d2ce03..1cfa6d1f258f 100644
--- a/chart2/source/model/template/ColumnLineChartTypeTemplate.cxx
+++ b/chart2/source/model/template/ColumnLineChartTypeTemplate.cxx
@@ -215,9 +215,9 @@ void ColumnLineChartTypeTemplate::applyStyle2(
     }
     else if( nChartTypeIndex==1 ) // lines
     {
-        DataSeriesHelper::switchLinesOnOrOff( xSeries, true );
-        DataSeriesHelper::switchSymbolsOnOrOff( xSeries, false, nSeriesIndex );
-        DataSeriesHelper::makeLinesThickOrThin( xSeries, true );
+        xSeries->switchLinesOnOrOff( true );
+        xSeries->switchSymbolsOnOrOff( false, nSeriesIndex );
+        xSeries->makeLinesThickOrThin( true );
     }
 }
 
diff --git a/chart2/source/model/template/LineChartTypeTemplate.cxx 
b/chart2/source/model/template/LineChartTypeTemplate.cxx
index 4f99151471e7..816ae23c4dc7 100644
--- a/chart2/source/model/template/LineChartTypeTemplate.cxx
+++ b/chart2/source/model/template/LineChartTypeTemplate.cxx
@@ -308,9 +308,9 @@ void LineChartTypeTemplate::applyStyle2(
 
     try
     {
-        DataSeriesHelper::switchSymbolsOnOrOff( xSeries, m_bHasSymbols, 
nSeriesIndex );
-        DataSeriesHelper::switchLinesOnOrOff( xSeries, m_bHasLines );
-        DataSeriesHelper::makeLinesThickOrThin( xSeries, m_nDim==2 );
+        xSeries->switchSymbolsOnOrOff( m_bHasSymbols, nSeriesIndex );
+        xSeries->switchLinesOnOrOff( m_bHasLines );
+        xSeries->makeLinesThickOrThin( m_nDim==2 );
     }
     catch( const uno::Exception & )
     {
diff --git a/chart2/source/model/template/NetChartTypeTemplate.cxx 
b/chart2/source/model/template/NetChartTypeTemplate.cxx
index 3be8633c329f..07537c66b1df 100644
--- a/chart2/source/model/template/NetChartTypeTemplate.cxx
+++ b/chart2/source/model/template/NetChartTypeTemplate.cxx
@@ -69,9 +69,9 @@ void NetChartTypeTemplate::applyStyle2(
 
     try
     {
-        DataSeriesHelper::switchSymbolsOnOrOff( xSeries, m_bHasSymbols, 
nSeriesIndex );
-        DataSeriesHelper::switchLinesOnOrOff( xSeries, m_bHasLines );
-        DataSeriesHelper::makeLinesThickOrThin( xSeries, true );
+        xSeries->switchSymbolsOnOrOff( m_bHasSymbols, nSeriesIndex );
+        xSeries->switchLinesOnOrOff( m_bHasLines );
+        xSeries->makeLinesThickOrThin( true );
     }
     catch( const uno::Exception & )
     {
diff --git a/chart2/source/model/template/ScatterChartTypeTemplate.cxx 
b/chart2/source/model/template/ScatterChartTypeTemplate.cxx
index 36fd995d9fab..80e8cc4bb924 100644
--- a/chart2/source/model/template/ScatterChartTypeTemplate.cxx
+++ b/chart2/source/model/template/ScatterChartTypeTemplate.cxx
@@ -175,9 +175,9 @@ void ScatterChartTypeTemplate::applyStyle2(
 
     try
     {
-        DataSeriesHelper::switchSymbolsOnOrOff( xSeries, m_bHasSymbols, 
nSeriesIndex );
-        DataSeriesHelper::switchLinesOnOrOff( xSeries, m_bHasLines );
-        DataSeriesHelper::makeLinesThickOrThin( xSeries, m_nDim==2 );
+        xSeries->switchSymbolsOnOrOff( m_bHasSymbols, nSeriesIndex );
+        xSeries->switchLinesOnOrOff( m_bHasLines );
+        xSeries->makeLinesThickOrThin( m_nDim==2 );
         if( m_nDim==3 )
             DataSeriesHelper::setPropertyAlsoToAllAttributedDataPoints( 
xSeries, u"BorderStyle"_ustr, uno::Any( drawing::LineStyle_NONE ) );
     }
diff --git a/chart2/source/tools/DataSeriesHelper.cxx 
b/chart2/source/tools/DataSeriesHelper.cxx
index 6de10a3a9447..80a314051dab 100644
--- a/chart2/source/tools/DataSeriesHelper.cxx
+++ b/chart2/source/tools/DataSeriesHelper.cxx
@@ -373,61 +373,6 @@ void deleteSeries(
     }
 }
 
-void switchSymbolsOnOrOff( const rtl::Reference< DataSeries > & xSeries,
-                    bool bSymbolsOn, sal_Int32 nSeriesIndex )
-{
-    if( !xSeries )
-        return;
-
-    chart2::Symbol aSymbProp;
-    if( xSeries->getPropertyValue( u"Symbol"_ustr) >>= aSymbProp )
-    {
-        if( !bSymbolsOn )
-            aSymbProp.Style = chart2::SymbolStyle_NONE;
-        else if( aSymbProp.Style == chart2::SymbolStyle_NONE )
-        {
-            aSymbProp.Style = chart2::SymbolStyle_STANDARD;
-            aSymbProp.StandardSymbol = nSeriesIndex;
-        }
-        xSeries->setPropertyValue( u"Symbol"_ustr, uno::Any( aSymbProp ));
-    }
-    //todo: check attributed data points
-}
-
-void switchLinesOnOrOff( const rtl::Reference< DataSeries > & xSeries, bool 
bLinesOn )
-{
-    if( !xSeries )
-        return;
-
-    if( bLinesOn )
-    {
-        // keep line-styles that are not NONE
-        drawing::LineStyle eLineStyle;
-        if( (xSeries->getPropertyValue( u"LineStyle"_ustr) >>= eLineStyle ) &&
-            eLineStyle == drawing::LineStyle_NONE )
-        {
-            xSeries->setPropertyValue( u"LineStyle"_ustr, uno::Any( 
drawing::LineStyle_SOLID ) );
-        }
-    }
-    else
-        xSeries->setPropertyValue( u"LineStyle"_ustr, uno::Any( 
drawing::LineStyle_NONE ) );
-}
-
-void makeLinesThickOrThin( const rtl::Reference< ::chart::DataSeries > & 
xSeries, bool bThick )
-{
-    if( !xSeries )
-        return;
-
-    sal_Int32 nNewValue = bThick ? 80 : 0;
-    sal_Int32 nOldValue = 0;
-    if( (xSeries->getPropertyValue( u"LineWidth"_ustr) >>= nOldValue ) &&
-        nOldValue != nNewValue )
-    {
-        if( !(bThick && nOldValue>0))
-            xSeries->setPropertyValue( u"LineWidth"_ustr, uno::Any( nNewValue 
) );
-    }
-}
-
 void setPropertyAlsoToAllAttributedDataPoints( const rtl::Reference< 
::chart::DataSeries >& xSeries,
                                               const OUString& rPropertyName, 
const uno::Any& rPropertyValue )
 {

Reply via email to