From 7ddf9aeda49a36679c5bc3c7acb750c82cbda201 Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (o)" <j.wuttke@fz-juelich.de>
Date: Tue, 10 Oct 2023 09:38:58 +0200
Subject: [PATCH] Vector items w/o Unit::

---
 GUI/Model/Descriptor/VectorProperty.cpp | 13 ++++++-------
 GUI/Model/Descriptor/VectorProperty.h   |  6 ++----
 GUI/Model/Detector/DetectorItem.cpp     |  4 ++--
 GUI/Model/Device/InstrumentItems.cpp    |  4 ++--
 GUI/Model/Sample/ItemWithParticles.cpp  |  2 +-
 GUI/Model/Sample/MaterialItem.cpp       | 14 ++++++--------
 GUI/Model/Sample/MesocrystalItem.cpp    | 12 ++++++------
 GUI/Model/Sample/SampleItem.cpp         |  2 +-
 8 files changed, 26 insertions(+), 31 deletions(-)

diff --git a/GUI/Model/Descriptor/VectorProperty.cpp b/GUI/Model/Descriptor/VectorProperty.cpp
index c08e93192bf..127e6d1e247 100644
--- a/GUI/Model/Descriptor/VectorProperty.cpp
+++ b/GUI/Model/Descriptor/VectorProperty.cpp
@@ -28,21 +28,20 @@ const QString Z("Z");
 
 using std::variant;
 
-void VectorProperty::init(const QString& label, const QString& tooltip,
-                          const variant<QString, Unit>& unit, const QString& uidPrefix)
+void VectorProperty::init(const QString& label, const QString& tooltip, const QString& uidPrefix)
 {
-    init(label, tooltip, R3(), unit, 3, 0.01, RealLimits::limitless(), uidPrefix);
+    init(label, tooltip, R3(), 3, 0.01, RealLimits::limitless(), uidPrefix);
 }
 
 void VectorProperty::init(const QString& label, const QString& tooltip, const R3& value,
-                          const std::variant<QString, Unit>& unit, uint decimals, double step,
+                          uint decimals, double step,
                           const RealLimits& limits, const QString& uidPrefix)
 {
     m_label = label;
 
-    m_x.init("x", tooltip, value.x(), unit, decimals, step, limits, uidPrefix);
-    m_y.init("y", tooltip, value.y(), unit, decimals, step, limits, uidPrefix);
-    m_z.init("z (nm)", tooltip, value.z(), unit, decimals, step, limits, uidPrefix);
+    m_x.init("x", tooltip, value.x(), decimals, step, limits, uidPrefix);
+    m_y.init("y", tooltip, value.y(), decimals, step, limits, uidPrefix);
+    m_z.init("z", tooltip, value.z(), decimals, step, limits, uidPrefix);
 
     QString uid;
     if (uidPrefix.size() > 0)
diff --git a/GUI/Model/Descriptor/VectorProperty.h b/GUI/Model/Descriptor/VectorProperty.h
index eb59160a4d0..5227b9552c8 100644
--- a/GUI/Model/Descriptor/VectorProperty.h
+++ b/GUI/Model/Descriptor/VectorProperty.h
@@ -29,10 +29,8 @@
 //!
 class VectorProperty {
 public:
-    void init(const QString& label, const QString& tooltip, const std::variant<QString, Unit>& unit,
-              const QString& uidPrefix);
-    void init(const QString& label, const QString& tooltip, const R3& value,
-              const std::variant<QString, Unit>& unit, uint decimals, double step,
+    void init(const QString& label, const QString& tooltip, const QString& uidPrefix);
+    void init(const QString& label, const QString& tooltip, const R3& value, uint decimals, double step,
               const RealLimits& limits, const QString& uidPrefix);
 
     operator R3() const { return R3(m_x.value(), m_y.value(), m_z.value()); }
diff --git a/GUI/Model/Detector/DetectorItem.cpp b/GUI/Model/Detector/DetectorItem.cpp
index b1253fbd161..14e220a4845 100644
--- a/GUI/Model/Detector/DetectorItem.cpp
+++ b/GUI/Model/Detector/DetectorItem.cpp
@@ -64,11 +64,11 @@ DetectorItem::DetectorItem()
     m_normalVector.init(
         "Normal vector",
         "Normal of the detector plane with length equal to the sample detector distance",
-        Unit::unitless, "normalVector");
+        "normalVector");
     m_normalVector.setX(default_detector_distance);
     m_directionVector.init("GisasDirection vector",
                            "Detector axis direction vector w.r.t. the sample coordinate system",
-                           Unit::unitless, "directionVector");
+                           "directionVector");
     m_directionVector.setY(-1.0);
 
     m_u0.init("u0", "", default_detector_width / 2., "mm", 3 /* decimals */,
diff --git a/GUI/Model/Device/InstrumentItems.cpp b/GUI/Model/Device/InstrumentItems.cpp
index c4e9b7c7f23..c0d7d1e22bb 100644
--- a/GUI/Model/Device/InstrumentItems.cpp
+++ b/GUI/Model/Device/InstrumentItems.cpp
@@ -96,10 +96,10 @@ InstrumentItem::InstrumentItem()
 {
     m_id = QUuid::createUuid().toString();
     m_polarizerBlochVector.init("Polarizer Bloch vector",
-                                "Beam polarizer direction times efficiency", Unit::unitless,
+                                "Beam polarizer direction times efficiency",
                                 "polarizerBlochVector");
     m_analyzerBlochVector.init("Analyzer Bloch vector",
-                               "Polarization analyzer direction times efficiency", Unit::unitless,
+                               "Polarization analyzer direction times efficiency",
                                "analyzerBlochVector");
     m_background.init("Background", "");
 }
diff --git a/GUI/Model/Sample/ItemWithParticles.cpp b/GUI/Model/Sample/ItemWithParticles.cpp
index b99f58f3b22..0ff7fda6703 100644
--- a/GUI/Model/Sample/ItemWithParticles.cpp
+++ b/GUI/Model/Sample/ItemWithParticles.cpp
@@ -32,7 +32,7 @@ ItemWithParticles::ItemWithParticles(const QString& abundanceTooltip,
 {
     m_abundance.init("Abundance ()", abundanceTooltip, 1.0, 3 /* decimals */,
                      RealLimits::limited(0.0, 1.0), "abundance");
-    m_position.init("Position Offset", positionTooltip, Unit::nanometer, "pos");
+    m_position.init("Position offset (nm)", positionTooltip, "pos");
     m_rotation.init("Rotation", "");
 }
 
diff --git a/GUI/Model/Sample/MaterialItem.cpp b/GUI/Model/Sample/MaterialItem.cpp
index 3147efc9af5..c0a00491a9b 100644
--- a/GUI/Model/Sample/MaterialItem.cpp
+++ b/GUI/Model/Sample/MaterialItem.cpp
@@ -46,14 +46,12 @@ MaterialItem::MaterialItem()
     m_beta.init("Beta ()", "Beta of refractive index (n = 1 - delta + i*beta)", 0.0, 3,
                 RealLimits::limitless(), "beta");
 
-    Unit sld_units = Unit::angstromMinus2;
-    QString sld_units_str = unitAsString(sld_units);
-    m_sldRe.init("SLD, real", "Real part of SLD (SLD = real - i*imag), " + sld_units_str, 0.0,
-                 sld_units, 3, RealLimits::limitless(), "sldRe");
-    m_sldIm.init("SLD, imaginary", "Imaginary part of SLD (SLD = real - i*imag), " + sld_units_str,
-                 0.0, sld_units, 3, RealLimits::limitless(), "sldIm");
-
-    m_magnetization.init("Magnetization", "Magnetization (A/m)", "A/m", "magnetization");
+    m_sldRe.init("SLD, real", "Real part SLD (SLD = real - i*imag) (Ã…^-2)", 0.0,
+                 3, RealLimits::limitless(), "sldRe");
+    m_sldIm.init("SLD, imaginary", "Imaginary part of SLD (SLD = real - i*imag) (Ã…^-2), ",
+                 0.0, 3, RealLimits::limitless(), "sldIm");
+
+    m_magnetization.init("Magnetization", "Magnetization (A/m)", "magnetization");
 }
 
 MaterialItem::MaterialItem(const MaterialItem& other)
diff --git a/GUI/Model/Sample/MesocrystalItem.cpp b/GUI/Model/Sample/MesocrystalItem.cpp
index c3b2e7a8713..1f897483667 100644
--- a/GUI/Model/Sample/MesocrystalItem.cpp
+++ b/GUI/Model/Sample/MesocrystalItem.cpp
@@ -50,12 +50,12 @@ MesocrystalItem::MesocrystalItem(const MaterialModel* materials)
     : ItemWithParticles(abundance_tooltip, position_tooltip)
     , m_materialModel(materials)
 {
-    m_vectorA.init("First lattice vector", "Coordinates of the first lattice vector",
-                   Unit::nanometer, "vectorA");
-    m_vectorB.init("Second lattice vector", "Coordinates of the second lattice vector",
-                   Unit::nanometer, "vectorB");
-    m_vectorC.init("Third lattice vector", "Coordinates of the third lattice vector",
-                   Unit::nanometer, "vectorC");
+    m_vectorA.init("First lattice vector (nm)", "Coordinates of the first lattice vector",
+                   "vectorA");
+    m_vectorB.init("Second lattice vector (nm)", "Coordinates of the second lattice vector",
+                   "vectorB");
+    m_vectorC.init("Third lattice vector (nm)", "Coordinates of the third lattice vector",
+                   "vectorC");
 
     m_outerShape.init("Outer Shape", "");
     m_basisParticle.init("Basis", "", materials);
diff --git a/GUI/Model/Sample/SampleItem.cpp b/GUI/Model/Sample/SampleItem.cpp
index 6373f08e6ea..324a41dba33 100644
--- a/GUI/Model/Sample/SampleItem.cpp
+++ b/GUI/Model/Sample/SampleItem.cpp
@@ -38,7 +38,7 @@ SampleItem::SampleItem()
     m_crossCorrelationLength.init(
         "Cross-correlation length", "Cross correlation length of roughnesses between interfaces",
         0.0, Unit::nanometer, 5 /* decimals */, RealLimits::nonnegative(), "cross");
-    m_externalField.init("External field", "External field (A/m)", "A/m", "extField");
+    m_externalField.init("External field", "External field (A/m)", "extField");
 }
 
 SampleItem::~SampleItem() = default;
-- 
GitLab