Skip to content
Snippets Groups Projects
Commit e3a591a0 authored by Matthias Puchner's avatar Matthias Puchner
Browse files

rm unnecessary indirection

parent 44dfccf6
No related branches found
No related tags found
1 merge request!494Remove SessionModel/SessionItem from MaterialModel/MaterialItem
......@@ -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);
......
......@@ -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,
......
......@@ -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)
......
......@@ -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);
......
......@@ -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;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment