From c6219237cd8b4a0d8fb03b92f7819f1f30bee2aa Mon Sep 17 00:00:00 2001
From: Tobias Knopff <t.knopff@fz-juelich.de>
Date: Tue, 4 May 2021 13:38:46 +0200
Subject: [PATCH] Use string constant for model type name of SpecularDataItem

---
 GUI/coregui/Models/ItemCatalog.cpp                           | 2 +-
 GUI/coregui/Models/JobItem.cpp                               | 2 +-
 GUI/coregui/Models/RealDataItem.cpp                          | 4 ++--
 GUI/coregui/Models/SpecularDataItem.cpp                      | 4 +++-
 GUI/coregui/Models/SpecularDataItem.h                        | 3 +++
 GUI/coregui/Views/FitWidgets/FitComparisonViewController.cpp | 3 ++-
 6 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/GUI/coregui/Models/ItemCatalog.cpp b/GUI/coregui/Models/ItemCatalog.cpp
index 96e0cbc2460..e67b96d0b7f 100644
--- a/GUI/coregui/Models/ItemCatalog.cpp
+++ b/GUI/coregui/Models/ItemCatalog.cpp
@@ -176,7 +176,7 @@ ItemCatalog::ItemCatalog()
     add("JobItem", create_new<JobItem>);
 
     add("IntensityData", create_new<IntensityDataItem>);
-    add("SpecularData", create_new<SpecularDataItem>);
+    add(SpecularDataItem::M_TYPE, create_new<SpecularDataItem>);
     add("Data1DViewItem", create_new<Data1DViewItem>);
     add("DataPropertyContainer", create_new<DataPropertyContainer>);
     add("DataItem1DProperties", create_new<Data1DProperties>);
diff --git a/GUI/coregui/Models/JobItem.cpp b/GUI/coregui/Models/JobItem.cpp
index 1d90da71bba..fd61b69a8b7 100644
--- a/GUI/coregui/Models/JobItem.cpp
+++ b/GUI/coregui/Models/JobItem.cpp
@@ -79,7 +79,7 @@ JobItem::JobItem() : SessionItem("JobItem")
                               << "DepthProbeInstrument");
     registerTag(T_OUTPUT, 1, 1,
                 QStringList() << "IntensityData"
-                              << "SpecularData");
+                              << SpecularDataItem::M_TYPE);
     registerTag(T_REALDATA, 1, 1, QStringList() << "RealData");
     registerTag(T_DATAVIEW, 1, 1, QStringList() << "Data1DViewItem");
     registerTag(T_PARAMETER_TREE, 0, -1, QStringList() << "Parameter Container");
diff --git a/GUI/coregui/Models/RealDataItem.cpp b/GUI/coregui/Models/RealDataItem.cpp
index e7bfe494450..6a4cb3fc5b1 100644
--- a/GUI/coregui/Models/RealDataItem.cpp
+++ b/GUI/coregui/Models/RealDataItem.cpp
@@ -46,7 +46,7 @@ RealDataItem::RealDataItem() : SessionItem("RealData")
     // Registering this tag even without actual data item to avoid troubles in copying RealDataItem
     registerTag(T_INTENSITY_DATA, 1, 1,
                 QStringList() << "IntensityData"
-                              << "SpecularData");
+                              << SpecularDataItem::M_TYPE);
     setDefaultTag(T_INTENSITY_DATA);
 
     addProperty(P_INSTRUMENT_ID, QString());
@@ -55,7 +55,7 @@ RealDataItem::RealDataItem() : SessionItem("RealData")
 
     registerTag(T_NATIVE_DATA, 1, 1,
                 QStringList() << "IntensityData"
-                              << "SpecularData");
+                              << SpecularDataItem::M_TYPE);
     addProperty(P_NATIVE_DATA_UNITS, "nbins")->setVisible(false);
 
     mapper()->setOnPropertyChange([this](const QString& name) {
diff --git a/GUI/coregui/Models/SpecularDataItem.cpp b/GUI/coregui/Models/SpecularDataItem.cpp
index d7193eaa36d..fc842f83b1e 100644
--- a/GUI/coregui/Models/SpecularDataItem.cpp
+++ b/GUI/coregui/Models/SpecularDataItem.cpp
@@ -22,7 +22,9 @@ const QString SpecularDataItem::P_TITLE = "Title";
 const QString SpecularDataItem::P_XAXIS = "x-axis";
 const QString SpecularDataItem::P_YAXIS = "y-axis";
 
-SpecularDataItem::SpecularDataItem() : DataItem("SpecularData")
+const QString SpecularDataItem::M_TYPE = "SpecularData";
+
+SpecularDataItem::SpecularDataItem() : DataItem(M_TYPE)
 {
     addProperty(P_TITLE, QString())->setVisible(false);
 
diff --git a/GUI/coregui/Models/SpecularDataItem.h b/GUI/coregui/Models/SpecularDataItem.h
index 9eeab812b2c..48c9a1fab2a 100644
--- a/GUI/coregui/Models/SpecularDataItem.h
+++ b/GUI/coregui/Models/SpecularDataItem.h
@@ -32,6 +32,9 @@ private:
     static const QString P_YAXIS;
 
 public:
+
+    static const QString M_TYPE;
+
     SpecularDataItem();
 
     void setOutputData(OutputData<double>* data) override;
diff --git a/GUI/coregui/Views/FitWidgets/FitComparisonViewController.cpp b/GUI/coregui/Views/FitWidgets/FitComparisonViewController.cpp
index 8e3897fc9b6..40313598ce3 100644
--- a/GUI/coregui/Views/FitWidgets/FitComparisonViewController.cpp
+++ b/GUI/coregui/Views/FitWidgets/FitComparisonViewController.cpp
@@ -21,6 +21,7 @@
 #include "GUI/coregui/Models/JobItem.h"
 #include "GUI/coregui/Models/RealDataItem.h"
 #include "GUI/coregui/Models/SessionModel.h"
+#include "GUI/coregui/Models/SpecularDataItem.h"
 #include "GUI/coregui/Views/IntensityDataWidgets/PropertyRepeater.h"
 
 namespace {
@@ -30,7 +31,7 @@ const double relative_diff_max_1d = 4.0;
 
 FitComparison1DViewController::FitComparison1DViewController(QObject* parent)
     : QObject(parent)
-    , m_diff_item_controller(new DiffItemController("SpecularData", this))
+    , m_diff_item_controller(new DiffItemController(SpecularDataItem::M_TYPE, this))
     , m_diff_view_item(nullptr)
     , m_appearanceRepeater(new PropertyRepeater(this))
     , m_xAxisRepeater(new PropertyRepeater(this))
-- 
GitLab