chart2/source/view/charttypes/VSeriesPlotter.cxx |   59 ++++++++++++-----------
 chart2/source/view/inc/VSeriesPlotter.hxx        |    3 -
 2 files changed, 34 insertions(+), 28 deletions(-)

New commits:
commit 462457455e9664a4ba79c4b21747cdb4e47da6ca
Author:     Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk>
AuthorDate: Fri May 6 15:46:43 2022 +0900
Commit:     Tomaž Vajngerl <qui...@gmail.com>
CommitDate: Wed May 11 01:58:31 2022 +0200

    chart2: remove code duplication in VSeriesPlotter::getSeriesNames
    
    Change-Id: Ib7b96e6fe0037a141efe696252ff2aa4a38ec327
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133924
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>

diff --git a/chart2/source/view/charttypes/VSeriesPlotter.cxx 
b/chart2/source/view/charttypes/VSeriesPlotter.cxx
index 26e462e82c32..eaa7f0743f03 100644
--- a/chart2/source/view/charttypes/VSeriesPlotter.cxx
+++ b/chart2/source/view/charttypes/VSeriesPlotter.cxx
@@ -2286,6 +2286,34 @@ OUString VSeriesPlotter::getCategoryName( sal_Int32 
nPointIndex ) const
     return OUString();
 }
 
+std::vector<VDataSeries const*> VSeriesPlotter::getAllSeries() const
+{
+    std::vector<VDataSeries const*> aAllSeries;
+    for (std::vector<VDataSeriesGroup> const & rXSlot : m_aZSlots)
+    {
+        for(VDataSeriesGroup const & rGroup : rXSlot)
+        {
+            for (std::unique_ptr<VDataSeries> const & p : 
rGroup.m_aSeriesVector)
+                aAllSeries.push_back(p.get());
+        }
+    }
+    return aAllSeries;
+}
+
+std::vector<VDataSeries*> VSeriesPlotter::getAllSeries()
+{
+    std::vector<VDataSeries*> aAllSeries;
+    for (std::vector<VDataSeriesGroup> const & rXSlot : m_aZSlots)
+    {
+        for(VDataSeriesGroup const & rGroup : rXSlot)
+        {
+            for (std::unique_ptr<VDataSeries> const & p : 
rGroup.m_aSeriesVector)
+                aAllSeries.push_back(p.get());
+        }
+    }
+    return aAllSeries;
+}
+
 uno::Sequence< OUString > VSeriesPlotter::getSeriesNames() const
 {
     std::vector<OUString> aRetVector;
@@ -2294,21 +2322,12 @@ uno::Sequence< OUString > 
VSeriesPlotter::getSeriesNames() const
     if( m_xChartTypeModel.is() )
         aRole = m_xChartTypeModel->getRoleOfSequenceForSeriesLabel();
 
-    for (auto const& rGroup : m_aZSlots)
+    for (VDataSeries const* pSeries : getAllSeries())
     {
-        if (!rGroup.empty())
+        if (pSeries)
         {
-            VDataSeriesGroup const & rSeriesGroup(rGroup[0]);
-            if (!rSeriesGroup.m_aSeriesVector.empty())
-            {
-                VDataSeries const * pSeries = 
rSeriesGroup.m_aSeriesVector[0].get();
-                rtl::Reference< DataSeries > xSeries( pSeries ? 
pSeries->getModel() : nullptr );
-                if( xSeries.is() )
-                {
-                    OUString aSeriesName( 
DataSeriesHelper::getDataSeriesLabel( xSeries, aRole ) );
-                    aRetVector.push_back( aSeriesName );
-                }
-            }
+            OUString aSeriesName( DataSeriesHelper::getDataSeriesLabel( 
pSeries->getModel(), aRole ) );
+            aRetVector.push_back( aSeriesName );
         }
     }
     return comphelper::containerToSequence( aRetVector );
@@ -2431,20 +2450,6 @@ std::vector< ViewLegendEntry > 
VSeriesPlotter::createLegendEntries(
     return aResult;
 }
 
-std::vector<VDataSeries*> VSeriesPlotter::getAllSeries()
-{
-    std::vector<VDataSeries*> aAllSeries;
-    for (std::vector<VDataSeriesGroup> const & rXSlot : m_aZSlots)
-    {
-        for(VDataSeriesGroup const & rGroup : rXSlot)
-        {
-            for (std::unique_ptr<VDataSeries> const & p : 
rGroup.m_aSeriesVector)
-                aAllSeries.push_back(p.get());
-        }
-    }
-    return aAllSeries;
-}
-
 namespace
 {
 bool lcl_HasVisibleLine( const uno::Reference< beans::XPropertySet >& xProps, 
bool& rbHasDashedLine )
diff --git a/chart2/source/view/inc/VSeriesPlotter.hxx 
b/chart2/source/view/inc/VSeriesPlotter.hxx
index 2182be97dcdb..90a73f1ee504 100644
--- a/chart2/source/view/inc/VSeriesPlotter.hxx
+++ b/chart2/source/view/inc/VSeriesPlotter.hxx
@@ -216,7 +216,8 @@ public:
             const css::uno::Reference< css::uno::XComponentContext >& xContext
                 );
 
-    std::vector< VDataSeries* > getAllSeries();
+    std::vector<VDataSeries*> getAllSeries();
+    std::vector<VDataSeries const*> getAllSeries() const;
 
     // This method creates a series plotter of the requested type; e.g. : 
return new PieChart...
     static VSeriesPlotter* createSeriesPlotter( const rtl::Reference< 
::chart::ChartType >& xChartTypeModel

Reply via email to