From bdd34f8d4a461c86f31c2201d143ea91b91c409d Mon Sep 17 00:00:00 2001
From: Tobias Knopff <t.knopff@fz-juelich.de>
Date: Mon, 31 May 2021 10:46:42 +0200
Subject: [PATCH] Make RectangularDetectorItem::P_DIRECTION private

---
 GUI/Models/RectangularDetectorItem.cpp                 | 10 ++++++++++
 GUI/Models/RectangularDetectorItem.h                   |  5 ++++-
 GUI/Models/TransformFromDomain.cpp                     |  2 +-
 .../InstrumentWidgets/RectangularDetectorEditor.cpp    |  2 +-
 4 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/GUI/Models/RectangularDetectorItem.cpp b/GUI/Models/RectangularDetectorItem.cpp
index 11753e89799..d8b334c4391 100644
--- a/GUI/Models/RectangularDetectorItem.cpp
+++ b/GUI/Models/RectangularDetectorItem.cpp
@@ -209,6 +209,16 @@ void RectangularDetectorItem::setNormalVector(const kvector_t& normal)
     item<VectorItem>(P_NORMAL)->setVector(normal);
 }
 
+SessionItem* RectangularDetectorItem::directionVectorItem() const
+{
+    return getItem(P_DIRECTION);
+}
+
+void RectangularDetectorItem::setDirectionVector(const kvector_t& direction)
+{
+    item<VectorItem>(P_DIRECTION)->setVector(direction);
+}
+
 std::unique_ptr<IDetector2D> RectangularDetectorItem::createDomainDetector() const
 {
     // basic axes parameters
diff --git a/GUI/Models/RectangularDetectorItem.h b/GUI/Models/RectangularDetectorItem.h
index 9058958fcad..3a2c313d354 100644
--- a/GUI/Models/RectangularDetectorItem.h
+++ b/GUI/Models/RectangularDetectorItem.h
@@ -27,9 +27,9 @@ private:
     static const QString P_Y_AXIS;
     static const QString P_ALIGNMENT;
     static const QString P_NORMAL;
+    static const QString P_DIRECTION;
 
 public:
-    static const QString P_DIRECTION;
     static const QString P_U0;
     static const QString P_V0;
     static const QString P_DBEAM_U0;
@@ -58,6 +58,9 @@ public:
     SessionItem* normalVectorItem() const;
     void setNormalVector(const kvector_t& normal);
 
+    SessionItem* directionVectorItem() const;
+    void setDirectionVector(const kvector_t& direction);
+
 private:
     std::unique_ptr<IDetector2D> createDomainDetector() const override;
     void update_properties_appearance();
diff --git a/GUI/Models/TransformFromDomain.cpp b/GUI/Models/TransformFromDomain.cpp
index c02f6b22543..5ff59801329 100644
--- a/GUI/Models/TransformFromDomain.cpp
+++ b/GUI/Models/TransformFromDomain.cpp
@@ -392,7 +392,7 @@ void TransformFromDomain::setRectangularDetector(RectangularDetectorItem* detect
         detector_item->setNormalVector(normal);
 
         kvector_t direction = detector.getDirectionVector();
-        detector_item->item<VectorItem>(RectangularDetectorItem::P_DIRECTION)->setVector(direction);
+        detector_item->setDirectionVector(direction);
 
         detector_item->setItemValue(RectangularDetectorItem::P_U0, detector.getU0());
         detector_item->setItemValue(RectangularDetectorItem::P_V0, detector.getV0());
diff --git a/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp b/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp
index a1e869021a6..8e5e60a32e0 100644
--- a/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp
+++ b/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp
@@ -141,7 +141,7 @@ void RectangularDetectorEditor::init_alignment_editors()
         auto normalVectorItem = detectorItem()->normalVectorItem();
         m_normalEditor->setItem(normalVectorItem);
 
-        auto directionVectorItem = detectorItem()->getItem(RectangularDetectorItem::P_DIRECTION);
+        auto directionVectorItem = detectorItem()->directionVectorItem();
         m_directionEditor->setItem(directionVectorItem);
 
     } else if (alignment.getValue() == "Perpendicular to direct beam"
-- 
GitLab