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