From 24a209b900cb5003056c6c0736f4e36f395c2291 Mon Sep 17 00:00:00 2001 From: Tobias Knopff <t.knopff@fz-juelich.de> Date: Mon, 3 May 2021 12:34:20 +0200 Subject: [PATCH] Make BeamItem::P_POLARIZATION private --- GUI/coregui/Models/BeamItems.cpp | 9 +++++++-- GUI/coregui/Models/BeamItems.h | 5 ++++- GUI/coregui/Models/TransformFromDomain.cpp | 2 +- .../InstrumentWidgets/PolarizationAnalysisEditor.cpp | 3 ++- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/GUI/coregui/Models/BeamItems.cpp b/GUI/coregui/Models/BeamItems.cpp index f5bc558dc8e..27c2856a268 100644 --- a/GUI/coregui/Models/BeamItems.cpp +++ b/GUI/coregui/Models/BeamItems.cpp @@ -108,6 +108,11 @@ BeamAzimuthalAngleItem* BeamItem::azimuthalAngleItem() const return item<BeamAzimuthalAngleItem>(P_AZIMUTHAL_ANGLE); } +VectorItem* BeamItem::polarizationItem() const +{ + return item<VectorItem>(P_POLARIZATION); +} + std::unique_ptr<Beam> BeamItem::createBeam() const { double lambda = wavelength(); @@ -117,7 +122,7 @@ std::unique_ptr<Beam> BeamItem::createBeam() const auto result = std::make_unique<Beam>(intensity(), lambda, Direction(inclination_angle, azimuthal_angle)); - result->setPolarization(item<VectorItem>(P_POLARIZATION)->getVector()); + result->setPolarization(polarizationItem()->getVector()); return result; } @@ -151,7 +156,7 @@ SpecularBeamItem::SpecularBeamItem() : BeamItem("SpecularBeam") initWavelength<SpecularBeamWavelengthItem>(); azimuthalAngleItem()->setVisible(false); - getItem(P_POLARIZATION)->setVisible(false); + polarizationItem()->setVisible(false); auto item = addGroupProperty(P_FOOPTPRINT, "Footprint group"); item->setDisplayName(footprint_group_label); diff --git a/GUI/coregui/Models/BeamItems.h b/GUI/coregui/Models/BeamItems.h index ef8889caa78..088e727c7f8 100644 --- a/GUI/coregui/Models/BeamItems.h +++ b/GUI/coregui/Models/BeamItems.h @@ -25,6 +25,7 @@ class BeamWavelengthItem; class FootprintItem; class GroupItem; class IAxis; +class VectorItem; class BA_CORE_API_ BeamItem : public SessionItem { private: @@ -32,9 +33,9 @@ private: static const QString P_WAVELENGTH; static const QString P_INCLINATION_ANGLE; static const QString P_AZIMUTHAL_ANGLE; -public: static const QString P_POLARIZATION; +public: ~BeamItem() override; double intensity() const; @@ -53,6 +54,8 @@ public: void setAzimuthalAngle(double value); BeamAzimuthalAngleItem* azimuthalAngleItem() const; + VectorItem* polarizationItem() const; + std::unique_ptr<Beam> createBeam() const; protected: diff --git a/GUI/coregui/Models/TransformFromDomain.cpp b/GUI/coregui/Models/TransformFromDomain.cpp index b33fe558160..2c2b8db6d1e 100644 --- a/GUI/coregui/Models/TransformFromDomain.cpp +++ b/GUI/coregui/Models/TransformFromDomain.cpp @@ -234,7 +234,7 @@ void TransformFromDomain::setGISASBeamItem(BeamItem* beam_item, const GISASSimul } // polarization parameters - beam_item->item<VectorItem>(BeamItem::P_POLARIZATION)->setVector(beam.getBlochVector()); + beam_item->polarizationItem()->setVector(beam.getBlochVector()); } void TransformFromDomain::setOffSpecularBeamItem(BeamItem* beam_item, diff --git a/GUI/coregui/Views/InstrumentWidgets/PolarizationAnalysisEditor.cpp b/GUI/coregui/Views/InstrumentWidgets/PolarizationAnalysisEditor.cpp index 4bf977cea5b..59f82fcd8ab 100644 --- a/GUI/coregui/Views/InstrumentWidgets/PolarizationAnalysisEditor.cpp +++ b/GUI/coregui/Views/InstrumentWidgets/PolarizationAnalysisEditor.cpp @@ -15,6 +15,7 @@ #include "GUI/coregui/Views/InstrumentWidgets/PolarizationAnalysisEditor.h" #include "GUI/coregui/Models/DetectorItems.h" #include "GUI/coregui/Models/InstrumentItems.h" +#include "GUI/coregui/Models/VectorItem.h" #include "GUI/coregui/Views/CommonWidgets/ColumnResizer.h" #include "GUI/coregui/Views/PropertyEditor/ComponentEditor.h" #include "GUI/coregui/utils/LayoutUtils.h" @@ -54,7 +55,7 @@ PolarizationAnalysisEditor::PolarizationAnalysisEditor(ColumnResizer* columnResi void PolarizationAnalysisEditor::subscribeToItem() { - m_polarizationEditor->setItem(beamItem()->getItem(BeamItem::P_POLARIZATION)); + m_polarizationEditor->setItem(beamItem()->polarizationItem()); currentItem()->mapper()->setOnPropertyChange( [this](const QString& name) { -- GitLab