From 2d9c02c0508edb212e0c8b60bb5019982048c57d Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (o)" <j.wuttke@fz-juelich.de>
Date: Tue, 10 Oct 2023 08:42:57 +0200
Subject: [PATCH] rm unit from resolution distribution

---
 GUI/Model/Detector/DetectorItem.cpp              |  8 +-------
 .../Detector/ResolutionFunctionItemCatalog.cpp   | 16 +++++-----------
 .../Detector/ResolutionFunctionItemCatalog.h     |  5 +----
 GUI/Model/Detector/ResolutionFunctionItems.cpp   |  6 ------
 GUI/Model/Detector/ResolutionFunctionItems.h     |  5 -----
 5 files changed, 7 insertions(+), 33 deletions(-)

diff --git a/GUI/Model/Detector/DetectorItem.cpp b/GUI/Model/Detector/DetectorItem.cpp
index a0e34a5cb95..b1253fbd161 100644
--- a/GUI/Model/Detector/DetectorItem.cpp
+++ b/GUI/Model/Detector/DetectorItem.cpp
@@ -48,17 +48,11 @@ const QMap<FlatDetector::NominalNormal, QString> alignment_names_map = {
     {FlatDetector::T, "Perpendicular to direct beam"},
     {FlatDetector::R, "Perpendicular to reflected beam"}};
 
-void initResolutionFunction(ResolutionFunctionItem* newFunc, const ResolutionFunctionItem*)
-{
-    newFunc->setUnit("mm");
-}
-
 } // namespace
 
 DetectorItem::DetectorItem()
 {
-    m_resolutionFunction.initWithInitializer("Resolution function", "Detector resolution function",
-                                             initResolutionFunction);
+    m_resolutionFunction.init("Resolution function", "Detector resolution function");
 
     m_xSize = 100;
     m_ySize = 100;
diff --git a/GUI/Model/Detector/ResolutionFunctionItemCatalog.cpp b/GUI/Model/Detector/ResolutionFunctionItemCatalog.cpp
index 2c68080b704..755c40f40d9 100644
--- a/GUI/Model/Detector/ResolutionFunctionItemCatalog.cpp
+++ b/GUI/Model/Detector/ResolutionFunctionItemCatalog.cpp
@@ -17,19 +17,13 @@
 #include "GUI/Model/Detector/ResolutionFunctionItems.h"
 
 ResolutionFunctionItem*
-ResolutionFunctionItemCatalog::create(Type type, const std::variant<QString, Unit>& unit)
+ResolutionFunctionItemCatalog::create(Type type)
 {
     switch (type) {
-    case Type::None: {
-        auto* p = new ResolutionFunctionNoneItem();
-        p->setUnit(unit);
-        return p;
-    }
-    case Type::Gaussian: {
-        auto* p = new ResolutionFunction2DGaussianItem();
-        p->setUnit(unit);
-        return p;
-    }
+    case Type::None:
+        return new ResolutionFunctionNoneItem();
+    case Type::Gaussian:
+        return new ResolutionFunction2DGaussianItem();
     }
     ASSERT_NEVER;
 }
diff --git a/GUI/Model/Detector/ResolutionFunctionItemCatalog.h b/GUI/Model/Detector/ResolutionFunctionItemCatalog.h
index 91e1c18c1b2..45cf4763771 100644
--- a/GUI/Model/Detector/ResolutionFunctionItemCatalog.h
+++ b/GUI/Model/Detector/ResolutionFunctionItemCatalog.h
@@ -16,9 +16,7 @@
 #define BORNAGAIN_GUI_MODEL_DETECTOR_RESOLUTIONFUNCTIONITEMCATALOG_H
 
 #include "GUI/Support/Type/UiInfo.h"
-#include "GUI/Support/Type/Unit.h"
 #include <QVector>
-#include <variant>
 
 class ResolutionFunctionItem;
 
@@ -31,8 +29,7 @@ public:
     enum class Type : uint8_t { None = 0, Gaussian = 1 };
 
     //! Creates the item of the given type.
-    static ResolutionFunctionItem* create(Type type,
-                                          const std::variant<QString, Unit>& unit = Unit::unitless);
+    static ResolutionFunctionItem* create(Type type);
 
     //! List of available types, sorted as expected in the UI.
     static QVector<Type> types();
diff --git a/GUI/Model/Detector/ResolutionFunctionItems.cpp b/GUI/Model/Detector/ResolutionFunctionItems.cpp
index 62968d19015..a4fa014a773 100644
--- a/GUI/Model/Detector/ResolutionFunctionItems.cpp
+++ b/GUI/Model/Detector/ResolutionFunctionItems.cpp
@@ -45,12 +45,6 @@ ResolutionFunction2DGaussianItem::createResolutionFunction(double scale) const
     return std::make_unique<ResolutionFunction2DGaussian>(scale * m_sigmaX, scale * m_sigmaY);
 }
 
-void ResolutionFunction2DGaussianItem::setUnit(const std::variant<QString, Unit>& unit)
-{
-    m_sigmaX.setUnit(unit);
-    m_sigmaY.setUnit(unit);
-}
-
 void ResolutionFunction2DGaussianItem::writeTo(QXmlStreamWriter* w) const
 {
     XML::writeAttribute(w, XML::Attrib::version, uint(1));
diff --git a/GUI/Model/Detector/ResolutionFunctionItems.h b/GUI/Model/Detector/ResolutionFunctionItems.h
index 66de6c92523..582938c851a 100644
--- a/GUI/Model/Detector/ResolutionFunctionItems.h
+++ b/GUI/Model/Detector/ResolutionFunctionItems.h
@@ -28,9 +28,6 @@ public:
     virtual std::unique_ptr<IResolutionFunction2D>
     createResolutionFunction(double scale = 1.0) const = 0;
 
-    //! Set the unit of the distributed value
-    virtual void setUnit(const std::variant<QString, Unit>&) {}
-
     virtual void writeTo(QXmlStreamWriter*) const {}
     virtual void readFrom(QXmlStreamReader*) {}
 };
@@ -47,8 +44,6 @@ public:
     std::unique_ptr<IResolutionFunction2D>
     createResolutionFunction(double scale = 1.0) const override;
 
-    void setUnit(const std::variant<QString, Unit>& unit) override;
-
     void writeTo(QXmlStreamWriter* w) const override;
     void readFrom(QXmlStreamReader* r) override;
 
-- 
GitLab