From 60c1eb722f2d039cff546498c82b538a7ada4a86 Mon Sep 17 00:00:00 2001 From: Mikhail Svechnikov <m.svechnikov@fz-juelich.de> Date: Wed, 7 Dec 2022 13:36:08 +0100 Subject: [PATCH] SpecularBeamItem: footprint returns const SelectyionProperty& --- GUI/Model/Device/BeamItems.cpp | 10 ---------- GUI/Model/Device/BeamItems.h | 4 ++-- GUI/Model/ToCore/SimulationToCore.cpp | 2 +- GUI/View/Instrument/FootprintCorrectionEditor.cpp | 4 ++-- 4 files changed, 5 insertions(+), 15 deletions(-) diff --git a/GUI/Model/Device/BeamItems.cpp b/GUI/Model/Device/BeamItems.cpp index 2db26bb765d..3d2593853cf 100644 --- a/GUI/Model/Device/BeamItems.cpp +++ b/GUI/Model/Device/BeamItems.cpp @@ -168,16 +168,6 @@ BasicAxisItem* SpecularBeamItem::inclinationAxis() const return inclinationAngleItem()->alphaAxis(); } -FootprintItem* SpecularBeamItem::footprint() const -{ - return m_footprint.currentItem(); -} - -SelectionDescriptor<FootprintItem*> SpecularBeamItem::footprintSelection() const -{ - return m_footprint; -} - void SpecularBeamItem::setGaussianFootprint(double value) { m_footprint.setCurrentItem(new FootprintGaussianItem(value)); diff --git a/GUI/Model/Device/BeamItems.h b/GUI/Model/Device/BeamItems.h index 6de0b398146..105567e44c4 100644 --- a/GUI/Model/Device/BeamItems.h +++ b/GUI/Model/Device/BeamItems.h @@ -79,8 +79,8 @@ public: SpecularBeamInclinationItem* inclinationAngleItem() const override; BasicAxisItem* inclinationAxis() const; - FootprintItem* footprint() const; - SelectionDescriptor<FootprintItem*> footprintSelection() const; + const SelectionProperty<FootprintItemCatalog>& footprint() const { return m_footprint; } + void setGaussianFootprint(double value); void setSquareFootprint(double value); template <typename T> diff --git a/GUI/Model/ToCore/SimulationToCore.cpp b/GUI/Model/ToCore/SimulationToCore.cpp index 60ab6a7effb..c6c5c8acdd5 100644 --- a/GUI/Model/ToCore/SimulationToCore.cpp +++ b/GUI/Model/ToCore/SimulationToCore.cpp @@ -130,7 +130,7 @@ SpecularSimulation* createSpecularSimulation(std::unique_ptr<MultiLayer> sample, { auto* beam_item = item->beamItem(); auto* const axis_item = beam_item->inclinationAxis(); - auto* const footprint_item = beam_item->footprint(); + auto* const footprint_item = beam_item->footprint().currentItem(); AlphaScan scan(beam_item->wavelength(), *axis_item->createAxis(Units::deg)); scan.setFootprintFactor(footprint_item->createFootprint().get()); diff --git a/GUI/View/Instrument/FootprintCorrectionEditor.cpp b/GUI/View/Instrument/FootprintCorrectionEditor.cpp index 349034b0529..1ba20f0c0c1 100644 --- a/GUI/View/Instrument/FootprintCorrectionEditor.cpp +++ b/GUI/View/Instrument/FootprintCorrectionEditor.cpp @@ -28,7 +28,7 @@ FootprintCorrectionEditor::FootprintCorrectionEditor(QWidget* parent, SpecularBe setProperty("subgroup", true); // for stylesheet addressing m_formLayout = new QFormLayout(this); m_formLayout->setFieldGrowthPolicy(QFormLayout::FieldsStayAtSizeHint); - auto* typeCombo = GUI::Util::createComboBoxFromDescriptor(item->footprintSelection(), [=](int) { + auto* typeCombo = GUI::Util::createComboBoxFromDescriptor(item->footprint().m_descriptor, [=](int) { createFootprintWidgets(); emit dataChanged(); }); @@ -44,7 +44,7 @@ void FootprintCorrectionEditor::createFootprintWidgets() while (m_formLayout->rowCount() > 1) m_formLayout->removeRow(1); - auto* footprintItem = m_item->footprintSelection().currentItem(); + auto* footprintItem = m_item->footprint().currentItem(); if (auto* square = dynamic_cast<FootprintSquareItem*>(footprintItem)) { auto* spinbox = new DoubleSpinBox(square->squareFootprintValue()); spinbox->setSingleStep(0.01); -- GitLab