From 6122003f2b80a8c4ae576b04660424b55a13ac73 Mon Sep 17 00:00:00 2001
From: Mikhail Svechnikov <m.svechnikov@fz-juelich.de>
Date: Tue, 8 Nov 2022 11:13:15 +0100
Subject: [PATCH] FitParameterItem: ptrs --> unique ptrs

---
 GUI/Model/Job/FitParameterItem.cpp | 36 +++++++++++++++---------------
 GUI/Model/Job/FitParameterItem.h   |  8 +++----
 2 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/GUI/Model/Job/FitParameterItem.cpp b/GUI/Model/Job/FitParameterItem.cpp
index a245f8ab174..12afcbdca46 100644
--- a/GUI/Model/Job/FitParameterItem.cpp
+++ b/GUI/Model/Job/FitParameterItem.cpp
@@ -227,10 +227,10 @@ const double range_factor = 0.5;
 
 FitParameterItem::FitParameterItem(QObject* parent)
     : QObject(parent)
-    , m_typeItem(new FitTypeItem(fitParameterTypeCombo(), this))
-    , m_startValueItem(new FitDoubleItem(0.0, this))
-    , m_minItem(new FitEditableDoubleItem(0.0, true, this))
-    , m_maxItem(new FitEditableDoubleItem(0.0, false, this))
+    , m_typeItem(std::make_unique<FitTypeItem>(fitParameterTypeCombo(), this))
+    , m_startValueItem(std::make_unique<FitDoubleItem>(0.0, this))
+    , m_minItem(std::make_unique<FitEditableDoubleItem>(0.0, true, this))
+    , m_maxItem(std::make_unique<FitEditableDoubleItem>(0.0, false, this))
 {
     setObjectName("FitParameter");
     m_startValueItem->setObjectName("Value");
@@ -320,7 +320,7 @@ void FitParameterItem::setStartValue(double start_value)
 
 QObject* FitParameterItem::startValueItem() const
 {
-    return m_startValueItem;
+    return m_startValueItem.get();
 }
 
 double FitParameterItem::minimum() const
@@ -335,7 +335,7 @@ void FitParameterItem::setMinimum(double minimum)
 
 QObject* FitParameterItem::minimumItem() const
 {
-    return m_minItem;
+    return m_minItem.get();
 }
 
 double FitParameterItem::maximum() const
@@ -350,7 +350,7 @@ void FitParameterItem::setMaximum(double maximum)
 
 QObject* FitParameterItem::maximumItem() const
 {
-    return m_maxItem;
+    return m_maxItem.get();
 }
 
 void FitParameterItem::addLink(const QString& title, const QString& link)
@@ -399,7 +399,7 @@ QString FitParameterItem::currentType() const
 
 QObject* FitParameterItem::typeItem() const
 {
-    return m_typeItem;
+    return m_typeItem.get();
 }
 
 void FitParameterItem::writeTo(QXmlStreamWriter* writer) const
@@ -480,28 +480,28 @@ void FitParameterItem::readFrom(QXmlStreamReader* reader)
 void FitParameterItem::onTypeChange()
 {
     if (isFixed()) {
-        setLimitEnabled(m_minItem, false);
-        setLimitEnabled(m_maxItem, false);
+        setLimitEnabled(m_minItem.get(), false);
+        setLimitEnabled(m_maxItem.get(), false);
     }
 
     else if (isLimited()) {
-        setLimitEnabled(m_minItem, true);
-        setLimitEnabled(m_maxItem, true);
+        setLimitEnabled(m_minItem.get(), true);
+        setLimitEnabled(m_maxItem.get(), true);
     }
 
     else if (isLowerLimited()) {
-        setLimitEnabled(m_minItem, true);
-        setLimitEnabled(m_maxItem, false);
+        setLimitEnabled(m_minItem.get(), true);
+        setLimitEnabled(m_maxItem.get(), false);
     }
 
     else if (isUpperLimited()) {
-        setLimitEnabled(m_minItem, false);
-        setLimitEnabled(m_maxItem, true);
+        setLimitEnabled(m_minItem.get(), false);
+        setLimitEnabled(m_maxItem.get(), true);
     }
 
     else if (isFree()) {
-        setLimitEnabled(m_minItem, false);
-        setLimitEnabled(m_maxItem, false);
+        setLimitEnabled(m_minItem.get(), false);
+        setLimitEnabled(m_maxItem.get(), false);
     }
 }
 
diff --git a/GUI/Model/Job/FitParameterItem.h b/GUI/Model/Job/FitParameterItem.h
index c43042875c3..f71ed0338f5 100644
--- a/GUI/Model/Job/FitParameterItem.h
+++ b/GUI/Model/Job/FitParameterItem.h
@@ -124,10 +124,10 @@ private:
     bool isFixed() const;
 
     QString m_displayName;
-    FitTypeItem* m_typeItem;
-    FitDoubleItem* m_startValueItem;
-    FitEditableDoubleItem* m_minItem;
-    FitEditableDoubleItem* m_maxItem;
+    std::unique_ptr<FitTypeItem> m_typeItem;
+    std::unique_ptr<FitDoubleItem> m_startValueItem;
+    std::unique_ptr<FitEditableDoubleItem> m_minItem;
+    std::unique_ptr<FitEditableDoubleItem> m_maxItem;
     QVector<FitParameterLinkItem*> m_links;
 };
 
-- 
GitLab