chart2/source/view/charttypes/VSeriesPlotter.cxx | 21 +++++++++++++++------ chart2/source/view/inc/VSeriesPlotter.hxx | 4 +++- 2 files changed, 18 insertions(+), 7 deletions(-)
New commits: commit ccf84ce0de2580eadb1407f11707f05fb042a8bd Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Wed Jun 22 13:01:52 2022 +0200 Commit: Tomaž Vajngerl <qui...@gmail.com> CommitDate: Wed Jun 22 20:53:43 2022 +0200 tdf#149204 revert getSeriesNames method to the original behaviour The VSeriesPlotter::getSeriesNames returned a filtered list of series names without the z-axis names, which is not expected from the name, so when refactoring the assumption was to return all of them names. This wasn't correct and has broken rendering of some charts. This change reverts the method to the original behaviour. Change-Id: I42464495a1a2b68a34efbc8409ae6c1417ff072d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136280 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> Reviewed-by: Tomaž Vajngerl <qui...@gmail.com> diff --git a/chart2/source/view/charttypes/VSeriesPlotter.cxx b/chart2/source/view/charttypes/VSeriesPlotter.cxx index c3b96d9912b9..360bce2c275f 100644 --- a/chart2/source/view/charttypes/VSeriesPlotter.cxx +++ b/chart2/source/view/charttypes/VSeriesPlotter.cxx @@ -2317,20 +2317,29 @@ std::vector<VDataSeries*> VSeriesPlotter::getAllSeries() return aAllSeries; } -uno::Sequence< OUString > VSeriesPlotter::getSeriesNames() const +uno::Sequence<OUString> VSeriesPlotter::getSeriesNames() const { std::vector<OUString> aRetVector; OUString aRole; - if( m_xChartTypeModel.is() ) + if (m_xChartTypeModel.is()) aRole = m_xChartTypeModel->getRoleOfSequenceForSeriesLabel(); - for (VDataSeries const* pSeries : getAllSeries()) + for (auto const& rGroup : m_aZSlots) { - if (pSeries) + if (!rGroup.empty()) { - OUString aSeriesName( DataSeriesHelper::getDataSeriesLabel( pSeries->getModel(), aRole ) ); - aRetVector.push_back( aSeriesName ); + 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 ); + } + } } } return comphelper::containerToSequence( aRetVector ); diff --git a/chart2/source/view/inc/VSeriesPlotter.hxx b/chart2/source/view/inc/VSeriesPlotter.hxx index 82cc45e6ace8..1b7961194ab2 100644 --- a/chart2/source/view/inc/VSeriesPlotter.hxx +++ b/chart2/source/view/inc/VSeriesPlotter.hxx @@ -234,8 +234,10 @@ public: void setExplicitCategoriesProvider( ExplicitCategoriesProvider* pExplicitCategoriesProvider ); + ExplicitCategoriesProvider* getExplicitCategoriesProvider() { return m_pExplicitCategoriesProvider; } + //get series names for the z axis labels - css::uno::Sequence< OUString > getSeriesNames() const; + css::uno::Sequence<OUString> getSeriesNames() const; void setPageReferenceSize( const css::awt::Size & rPageRefSize ); //better performance for big data