Skip to content
Snippets Groups Projects
Commit d2f29410 authored by Mikhail Svechnikov's avatar Mikhail Svechnikov
Browse files

block distributions in gui

parent 351942b4
No related branches found
No related tags found
1 merge request!1996Block alpha/lambda distributions (from r21.1)
......@@ -20,7 +20,7 @@
#include "GUI/View/Instrument/DistributionEditor.h"
#include "GUI/View/Instrument/DistributionPlot.h"
AlphaScanEditor::AlphaScanEditor(QWidget* parent, GrazingScanItem* item)
AlphaScanEditor::AlphaScanEditor(QWidget* parent, GrazingScanItem* item, bool allow_distr)
: QGroupBox("Grazing angles", parent)
, m_item(item)
{
......@@ -43,8 +43,8 @@ AlphaScanEditor::AlphaScanEditor(QWidget* parent, GrazingScanItem* item)
connect(m_form, &SphericalAxisForm::dataChanged, this, &AlphaScanEditor::dataChanged);
//... beam distribution
m_selector =
new DistributionSelector(std::nullopt, GUI::ID::Distributions::Symmetric, this, m_item);
m_selector = new DistributionSelector(std::nullopt, GUI::ID::Distributions::Symmetric, this,
m_item, allow_distr);
connect(m_selector, &DistributionSelector::distributionChanged, this,
&AlphaScanEditor::dataChanged);
connect(m_selector, &DistributionSelector::distributionChanged, this,
......
......@@ -27,7 +27,7 @@ class SphericalAxisForm;
class AlphaScanEditor : public QGroupBox {
Q_OBJECT
public:
AlphaScanEditor(QWidget* parent, GrazingScanItem* item);
AlphaScanEditor(QWidget* parent, GrazingScanItem* item, bool allow_distr);
void updateIndicators();
......
......@@ -29,7 +29,7 @@ DepthprobeInstrumentEditor::DepthprobeInstrumentEditor(QWidget* parent,
auto* layout = new QVBoxLayout(this);
layout->setContentsMargins(0, 0, 0, 0);
auto* scanEditor = new ScanEditor(this, instrument->scanItem(), &m_ec);
auto* scanEditor = new ScanEditor(this, instrument->scanItem(), &m_ec, false);
layout->addWidget(scanEditor);
auto* depthAxisEditor = new AxisPropertyForm(this, "Depth axis", &instrument->zAxis(),
......
......@@ -29,7 +29,7 @@
DistributionSelector::DistributionSelector(std::optional<MeanConfig> mean_config,
GUI::ID::Distributions distributions, QWidget* parent,
BeamDistributionItem* item)
BeamDistributionItem* item, bool allow_distr)
: QWidget(parent)
, m_item(item)
, m_meanConfig(std::move(mean_config))
......@@ -44,6 +44,7 @@ DistributionSelector::DistributionSelector(std::optional<MeanConfig> mean_config
createDistributionWidgets();
emit distributionChanged();
});
m_distributionCombo->setEnabled(allow_distr);
m_formLayout->addRow("Distribution:", m_distributionCombo);
createDistributionWidgets();
......@@ -161,11 +162,11 @@ void DistributionSelector::refresh()
DistributionEditor::DistributionEditor(const QString& title,
const std::optional<MeanConfig>& mean_config,
GUI::ID::Distributions distributions, QWidget* parent,
BeamDistributionItem* item)
BeamDistributionItem* item, bool allow_distr)
: QGroupBox(title, parent)
{
auto* hLayout = new QHBoxLayout(this);
m_selector = new DistributionSelector(mean_config, distributions, this, item);
m_selector = new DistributionSelector(mean_config, distributions, this, item, allow_distr);
hLayout->addWidget(m_selector);
hLayout->setSpacing(50);
......
......@@ -52,7 +52,7 @@ public:
/// supported)
DistributionSelector(std::optional<MeanConfig> mean_config,
GUI::ID::Distributions distributions, QWidget* parent,
BeamDistributionItem* item);
BeamDistributionItem* item, bool allow_distr);
BeamDistributionItem* item() const;
GUI::ID::Distributions distributions() const;
......@@ -85,7 +85,7 @@ class DistributionEditor : public QGroupBox {
public:
DistributionEditor(const QString& title, const std::optional<MeanConfig>& mean_config,
GUI::ID::Distributions distributions, QWidget* parent,
BeamDistributionItem* item);
BeamDistributionItem* item, bool allow_distr = true);
//! Update UI from data
void updateData();
......
......@@ -29,7 +29,7 @@ OffspecInstrumentEditor::OffspecInstrumentEditor(QWidget* parent, OffspecInstrum
auto* layout = new QVBoxLayout(this);
layout->setContentsMargins(0, 0, 0, 0);
auto* scanEditor = new ScanEditor(this, instrument->scanItem(), &m_ec);
auto* scanEditor = new ScanEditor(this, instrument->scanItem(), &m_ec, false);
layout->addWidget(scanEditor);
auto* detectorEditor = new OffspecDetectorEditor(this, instrument);
......
......@@ -25,7 +25,7 @@
#include <QFormLayout>
#include <QLineEdit>
ScanEditor::ScanEditor(QWidget* parent, ScanItem* item, InstrumentNotifier* ec)
ScanEditor::ScanEditor(QWidget* parent, ScanItem* item, InstrumentNotifier* ec, bool allow_distr)
: QGroupBox("Beam and scan parameters", parent)
{
ASSERT(item);
......@@ -45,10 +45,10 @@ ScanEditor::ScanEditor(QWidget* parent, ScanItem* item, InstrumentNotifier* ec)
auto* wavelengthEditor =
new DistributionEditor("Wavelength", MeanConfig{true}, GUI::ID::Distributions::Symmetric,
this, item->wavelengthItem());
this, item->wavelengthItem(), allow_distr);
vLayout->addWidget(wavelengthEditor);
auto* inclinationEditor = new AlphaScanEditor(this, item->grazingScanItem());
auto* inclinationEditor = new AlphaScanEditor(this, item->grazingScanItem(), allow_distr);
vLayout->addWidget(inclinationEditor);
auto* footprintEditor = new FootprintForm(this, item);
......
......@@ -26,7 +26,7 @@ class ScanEditor : public QGroupBox {
Q_OBJECT
public:
ScanEditor(QWidget* parent, ScanItem* item, InstrumentNotifier* ec);
ScanEditor(QWidget* parent, ScanItem* item, InstrumentNotifier* ec, bool allow_distr = true);
signals:
void dataChanged();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment