From e3a591a0758e74344f8aca8ea7d909993835917c Mon Sep 17 00:00:00 2001 From: Matthias Puchner <github@mpuchner.de> Date: Tue, 30 Nov 2021 17:03:36 +0100 Subject: [PATCH] rm unnecessary indirection --- GUI/Model/Fit/FitParameterContainerItem.cpp | 9 ++++++++- GUI/Model/Fit/FitParameterContainerItem.h | 11 ++++++++++- GUI/Model/Fit/FitParameterHelper.cpp | 11 +---------- GUI/Model/Fit/FitParameterHelper.h | 3 --- GUI/View/Fit/FitParameterWidget.cpp | 14 +++++--------- 5 files changed, 24 insertions(+), 24 deletions(-) diff --git a/GUI/Model/Fit/FitParameterContainerItem.cpp b/GUI/Model/Fit/FitParameterContainerItem.cpp index e4673cdc8d3..8165853658a 100644 --- a/GUI/Model/Fit/FitParameterContainerItem.cpp +++ b/GUI/Model/Fit/FitParameterContainerItem.cpp @@ -15,6 +15,7 @@ #include "GUI/Model/Fit/FitParameterContainerItem.h" #include "Base/Util/Assert.h" #include "Fit/Param/Parameters.h" +#include "GUI/Model/Fit/FitParameterHelper.h" #include "GUI/Model/Fit/FitParameterItem.h" #include "GUI/Model/Fit/FitParameterLinkItem.h" #include "GUI/Model/Fit/ParameterTreeItems.h" @@ -29,7 +30,7 @@ FitParameterContainerItem::FitParameterContainerItem() : SessionItem(M_TYPE) //! returns FitParameterItem for given link (path in model) -FitParameterItem* FitParameterContainerItem::fitParameterItem(const QString& link) +FitParameterItem* FitParameterContainerItem::fitParameterItem(const QString& link) const { for (FitParameterItem* item : items<FitParameterItem>(T_FIT_PARAMETERS)) { for (FitParameterLinkItem* linkItem : item->linkItems()) { @@ -40,6 +41,12 @@ FitParameterItem* FitParameterContainerItem::fitParameterItem(const QString& lin return nullptr; } +FitParameterItem* +FitParameterContainerItem::fitParameterItem(const ParameterItem* parameterItem) const +{ + return fitParameterItem(FitParameterHelper::getParameterItemPath(parameterItem)); +} + QVector<FitParameterItem*> FitParameterContainerItem::fitParameterItems() { return items<FitParameterItem>(T_FIT_PARAMETERS); diff --git a/GUI/Model/Fit/FitParameterContainerItem.h b/GUI/Model/Fit/FitParameterContainerItem.h index 7d059150169..0e9c6de103c 100644 --- a/GUI/Model/Fit/FitParameterContainerItem.h +++ b/GUI/Model/Fit/FitParameterContainerItem.h @@ -21,6 +21,7 @@ namespace mumufit { class Parameters; } class FitParameterItem; +class ParameterItem; //! The FitParameterContainerItem class is a collection of all defined fit parameters in JobItem. @@ -32,7 +33,15 @@ public: static constexpr auto M_TYPE{"FitParameterContainer"}; FitParameterContainerItem(); - FitParameterItem* fitParameterItem(const QString& link); + + //! get the fit parameter item whose link matches the given link. + //! + //! The link is a ParameterItem's path + FitParameterItem* fitParameterItem(const QString& link) const; + + //! get the fit parameter item which links the given parameterItem. + FitParameterItem* fitParameterItem(const ParameterItem* parameterItem) const; + QVector<FitParameterItem*> fitParameterItems(); bool isEmpty(); void setValuesInParameterContainer(const QVector<double>& values, diff --git a/GUI/Model/Fit/FitParameterHelper.cpp b/GUI/Model/Fit/FitParameterHelper.cpp index bf4f96e5ae7..0a61bdcdff3 100644 --- a/GUI/Model/Fit/FitParameterHelper.cpp +++ b/GUI/Model/Fit/FitParameterHelper.cpp @@ -47,7 +47,7 @@ void FitParameterHelper::createFitParameter(FitParameterContainerItem* container void FitParameterHelper::removeFromFitParameters(FitParameterContainerItem* container, ParameterItem* parameterItem) { - FitParameterItem* fitParItem = getFitParameterItem(container, parameterItem); + FitParameterItem* fitParItem = container->fitParameterItem(parameterItem); if (fitParItem) { for (auto* linkItem : fitParItem->linkItems()) { @@ -77,15 +77,6 @@ void FitParameterHelper::addToFitParameter(FitParameterContainerItem* container, } } -//! Returns fFitParameterItem corresponding to given ParameterItem - -FitParameterItem* FitParameterHelper::getFitParameterItem(FitParameterContainerItem* container, - ParameterItem* parameterItem) -{ - ASSERT(container); - return container->fitParameterItem(getParameterItemPath(parameterItem)); -} - //! Returns list of fit parameter display names QStringList FitParameterHelper::getFitParameterNames(FitParameterContainerItem* container) diff --git a/GUI/Model/Fit/FitParameterHelper.h b/GUI/Model/Fit/FitParameterHelper.h index 75f52c226f4..5d7d7e5547e 100644 --- a/GUI/Model/Fit/FitParameterHelper.h +++ b/GUI/Model/Fit/FitParameterHelper.h @@ -31,9 +31,6 @@ void removeFromFitParameters(FitParameterContainerItem* container, ParameterItem void addToFitParameter(FitParameterContainerItem* container, ParameterItem* parameterItem, const QString& fitParName); -FitParameterItem* getFitParameterItem(FitParameterContainerItem* container, - ParameterItem* parameterItem); - QStringList getFitParameterNames(FitParameterContainerItem* container); QString getParameterItemPath(const ParameterItem* parameterItem); ParameterItem* getParameterItem(FitParameterContainerItem* container, const QString& link); diff --git a/GUI/View/Fit/FitParameterWidget.cpp b/GUI/View/Fit/FitParameterWidget.cpp index 8197ff867e0..c0b3b7d99e9 100644 --- a/GUI/View/Fit/FitParameterWidget.cpp +++ b/GUI/View/Fit/FitParameterWidget.cpp @@ -13,9 +13,9 @@ // ************************************************************************************************ #include "GUI/View/Fit/FitParameterWidget.h" +#include "GUI/Model/Fit/FitParameterContainerItem.h" #include "GUI/Model/Fit/FitParameterHelper.h" #include "GUI/Model/Fit/FitParameterItem.h" -#include "GUI/Model/Fit/FitParameterContainerItem.h" #include "GUI/Model/Fit/FitParameterLinkItem.h" #include "GUI/Model/Fit/FitParameterProxyModel.h" #include "GUI/Model/Fit/FitSuiteItem.h" @@ -151,10 +151,8 @@ void FitParameterWidget::onFitParametersSelectionChanged(const QItemSelection& s void FitParameterWidget::onCreateFitParAction() { for (auto* item : m_tuningWidget->getSelectedParameters()) { - if (!FitParameterHelper::getFitParameterItem(jobItem()->fitParameterContainerItem(), - item)) { + if (!jobItem()->fitParameterContainerItem()->fitParameterItem(item)) FitParameterHelper::createFitParameter(jobItem()->fitParameterContainerItem(), item); - } } } @@ -164,10 +162,9 @@ void FitParameterWidget::onCreateFitParAction() void FitParameterWidget::onRemoveFromFitParAction() { for (auto* item : m_tuningWidget->getSelectedParameters()) { - if (FitParameterHelper::getFitParameterItem(jobItem()->fitParameterContainerItem(), item)) { + if (jobItem()->fitParameterContainerItem()->fitParameterItem(item)) FitParameterHelper::removeFromFitParameters(jobItem()->fitParameterContainerItem(), item); - } } } @@ -313,8 +310,7 @@ bool FitParameterWidget::canCreateFitParameter() { QVector<ParameterItem*> selected = m_tuningWidget->getSelectedParameters(); for (auto* item : selected) { - if (FitParameterHelper::getFitParameterItem(jobItem()->fitParameterContainerItem(), item) - == nullptr) + if (jobItem()->fitParameterContainerItem()->fitParameterItem(item) == nullptr) return true; } return false; @@ -327,7 +323,7 @@ bool FitParameterWidget::canRemoveFromFitParameters() { QVector<ParameterItem*> selected = m_tuningWidget->getSelectedParameters(); for (auto* item : selected) { - if (FitParameterHelper::getFitParameterItem(jobItem()->fitParameterContainerItem(), item)) + if (jobItem()->fitParameterContainerItem()->fitParameterItem(item)) return true; } return false; -- GitLab