From c9231ecd91ea8231a4418e3f27178fe0542c5a3e Mon Sep 17 00:00:00 2001 From: Tobias Knopff <t.knopff@fz-juelich.de> Date: Mon, 31 May 2021 10:22:10 +0200 Subject: [PATCH] Make RectangularDetectorItem::P_NORMAL private --- GUI/Models/RectangularDetectorItem.cpp | 10 ++++++++++ GUI/Models/RectangularDetectorItem.h | 5 ++++- GUI/Models/TransformFromDomain.cpp | 2 +- .../InstrumentWidgets/RectangularDetectorEditor.cpp | 2 +- Tests/UnitTests/GUI/TestDetectorItems.cpp | 4 ++-- 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/GUI/Models/RectangularDetectorItem.cpp b/GUI/Models/RectangularDetectorItem.cpp index bb94253aa49..11753e89799 100644 --- a/GUI/Models/RectangularDetectorItem.cpp +++ b/GUI/Models/RectangularDetectorItem.cpp @@ -199,6 +199,16 @@ void RectangularDetectorItem::setAlignment(const ComboProperty& alignment) setItemValue(P_ALIGNMENT, QVariant::fromValue<ComboProperty>(alignment)); } +SessionItem* RectangularDetectorItem::normalVectorItem() const +{ + return getItem(P_NORMAL); +} + +void RectangularDetectorItem::setNormalVector(const kvector_t& normal) +{ + item<VectorItem>(P_NORMAL)->setVector(normal); +} + std::unique_ptr<IDetector2D> RectangularDetectorItem::createDomainDetector() const { // basic axes parameters diff --git a/GUI/Models/RectangularDetectorItem.h b/GUI/Models/RectangularDetectorItem.h index e53c779e305..9058958fcad 100644 --- a/GUI/Models/RectangularDetectorItem.h +++ b/GUI/Models/RectangularDetectorItem.h @@ -26,9 +26,9 @@ private: static const QString P_X_AXIS; static const QString P_Y_AXIS; static const QString P_ALIGNMENT; + static const QString P_NORMAL; public: - static const QString P_NORMAL; static const QString P_DIRECTION; static const QString P_U0; static const QString P_V0; @@ -55,6 +55,9 @@ public: ComboProperty alignment() const; void setAlignment(const ComboProperty& alignment); + SessionItem* normalVectorItem() const; + void setNormalVector(const kvector_t& normal); + 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 813a8ce3d61..c02f6b22543 100644 --- a/GUI/Models/TransformFromDomain.cpp +++ b/GUI/Models/TransformFromDomain.cpp @@ -389,7 +389,7 @@ void TransformFromDomain::setRectangularDetector(RectangularDetectorItem* detect detector_item->setDetectorAlignment("Generic"); kvector_t normal = detector.getNormalVector(); - detector_item->item<VectorItem>(RectangularDetectorItem::P_NORMAL)->setVector(normal); + detector_item->setNormalVector(normal); kvector_t direction = detector.getDirectionVector(); detector_item->item<VectorItem>(RectangularDetectorItem::P_DIRECTION)->setVector(direction); diff --git a/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp b/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp index ecd4a895b49..a1e869021a6 100644 --- a/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp +++ b/GUI/Views/InstrumentWidgets/RectangularDetectorEditor.cpp @@ -138,7 +138,7 @@ void RectangularDetectorEditor::init_alignment_editors() m_positionsEditor->addItem(detectorItem()->getItem(RectangularDetectorItem::P_U0)); m_positionsEditor->addItem(detectorItem()->getItem(RectangularDetectorItem::P_V0)); - auto normalVectorItem = detectorItem()->getItem(RectangularDetectorItem::P_NORMAL); + auto normalVectorItem = detectorItem()->normalVectorItem(); m_normalEditor->setItem(normalVectorItem); auto directionVectorItem = detectorItem()->getItem(RectangularDetectorItem::P_DIRECTION); diff --git a/Tests/UnitTests/GUI/TestDetectorItems.cpp b/Tests/UnitTests/GUI/TestDetectorItems.cpp index c7837dd8ef0..587a763033f 100644 --- a/Tests/UnitTests/GUI/TestDetectorItems.cpp +++ b/Tests/UnitTests/GUI/TestDetectorItems.cpp @@ -20,12 +20,12 @@ TEST_F(TestDetectorItems, test_detectorAlignment) // generic has some more items visible alignment.setValue("Generic"); detector->setAlignment(alignment); - EXPECT_TRUE(detector->getItem(RectangularDetectorItem::P_NORMAL)->isVisible()); + EXPECT_TRUE(detector->normalVectorItem()->isVisible()); // should be disabled if we switch alignment.setValue("Perpendicular to reflected beam"); detector->setAlignment(alignment); - EXPECT_FALSE(detector->getItem(RectangularDetectorItem::P_NORMAL)->isVisible()); + EXPECT_FALSE(detector->normalVectorItem()->isVisible()); } TEST_F(TestDetectorItems, test_resolutionFunction) -- GitLab