diff --git a/GUI/Model/Fit/FitParameterHelper.cpp b/GUI/Model/Fit/FitParameterHelper.cpp index 1331f7956626cc100dde94a49d95b41e8048f185..bf4f96e5ae7aff6c41ba645b45baea45cdf7976a 100644 --- a/GUI/Model/Fit/FitParameterHelper.cpp +++ b/GUI/Model/Fit/FitParameterHelper.cpp @@ -13,8 +13,8 @@ // ************************************************************************************************ #include "GUI/Model/Fit/FitParameterHelper.h" -#include "GUI/Model/Fit/FitParameterItem.h" #include "GUI/Model/Fit/FitParameterContainerItem.h" +#include "GUI/Model/Fit/FitParameterItem.h" #include "GUI/Model/Fit/FitParameterLinkItem.h" #include "GUI/Model/Fit/ParameterTreeItems.h" #include "GUI/Model/Job/JobItem.h" @@ -39,7 +39,7 @@ void FitParameterHelper::createFitParameter(FitParameterContainerItem* container fitPar->setStartValue(parameterItem->value().toDouble()); link->setLink(getParameterItemPath(parameterItem)); - fitPar->initMinMaxValues(parameterItem->linkedItem()->limits()); + fitPar->initMinMaxValues(parameterItem->limitsOfLink()); } //! Removes link to given parameterItem from fit parameters diff --git a/GUI/Model/Fit/ParameterTreeItems.cpp b/GUI/Model/Fit/ParameterTreeItems.cpp index 98dd051f8482d4e2caf97a7eca9d7bca4a6d0207..f5e218f8a7342c982482ad17e9092674781ff975 100644 --- a/GUI/Model/Fit/ParameterTreeItems.cpp +++ b/GUI/Model/Fit/ParameterTreeItems.cpp @@ -56,7 +56,7 @@ void ParameterItem::propagateValueToLink(double newValue) //! Returns corresponding linked item in MultiLayerItem/InstrumentItem -SessionItem* ParameterItem::linkedItem() +SessionItem* ParameterItem::linkedItem() const { const SessionItem* jobItem = GUI::Model::Path::ancestor(this, JobItem::M_TYPE); ASSERT(jobItem); @@ -69,6 +69,16 @@ void ParameterItem::setLink(const QString& link) m_link = link; } +RealLimits ParameterItem::limitsOfLink() const +{ + return linkedItem()->limits(); +} + +int ParameterItem::decimalsOfLink() const +{ + return linkedItem()->decimals(); +} + QString ParameterItem::link() const { return m_link; diff --git a/GUI/Model/Fit/ParameterTreeItems.h b/GUI/Model/Fit/ParameterTreeItems.h index 78f8bf46a23a4c83529e7e3b356adf2b7c32b211..54eba6286515a87ce74ac01214aa748c3366090e 100644 --- a/GUI/Model/Fit/ParameterTreeItems.h +++ b/GUI/Model/Fit/ParameterTreeItems.h @@ -39,11 +39,14 @@ public: ParameterItem(); void propagateValueToLink(double newValue); - SessionItem* linkedItem(); void setLink(const QString& link); QString link() const; + RealLimits limitsOfLink() const; + int decimalsOfLink() const; + private: + SessionItem* linkedItem() const; QString m_link; //!< Link to original PropertyItem }; diff --git a/GUI/View/Fit/ParameterTuningDelegate.cpp b/GUI/View/Fit/ParameterTuningDelegate.cpp index cc3d3758fe5b7edefdd7210f08a12ebdfd60052e..16521fca7febf33c90797e02d5e471d3697e3195 100644 --- a/GUI/View/Fit/ParameterTuningDelegate.cpp +++ b/GUI/View/Fit/ParameterTuningDelegate.cpp @@ -147,7 +147,7 @@ QWidget* ParameterTuningDelegate::createEditor(QWidget* parent, const QStyleOpti return nullptr; double value = data.toDouble(); - RealLimits limits = m_currentItem->linkedItem()->limits(); + RealLimits limits = m_currentItem->limitsOfLink(); m_tuning_info.setItemLimits(limits); m_tuning_info.value_to_slider(value); @@ -155,7 +155,7 @@ QWidget* ParameterTuningDelegate::createEditor(QWidget* parent, const QStyleOpti m_valueBox = new ScientificSpinBox(); m_valueBox->setKeyboardTracking(false); m_valueBox->setFixedWidth(105); - m_valueBox->setDecimals(m_currentItem->linkedItem()->decimals()); + m_valueBox->setDecimals(m_currentItem->decimalsOfLink()); m_valueBox->setSingleStep(m_tuning_info.step()); if (limits.hasLowerLimit()) {