From 969cf74faef7c06bbb5dcde7adb513ab896bac4e Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (l)" <j.wuttke@fz-juelich.de>
Date: Sun, 7 Nov 2021 13:22:00 +0100
Subject: [PATCH] GUI::ID:Distributions now in ID.h

---
 GUI/View/Compare/FitComparisonWidget.cpp          |  4 ++--
 GUI/View/Compare/FitComparisonWidget1D.cpp        |  4 ++--
 .../Instrument/DepthProbeInstrumentEditor.cpp     |  4 ++--
 GUI/View/Instrument/DistributionEditor.cpp        | 12 ++++++------
 GUI/View/Instrument/DistributionEditor.h          | 15 +++++++--------
 GUI/View/Instrument/EditDistributionDialog.cpp    |  4 ++--
 GUI/View/Instrument/EditDistributionDialog.h      |  8 ++++----
 GUI/View/Instrument/GISASBeamEditor.cpp           | 10 +++++-----
 GUI/View/Instrument/InclinationAnglesEditor.cpp   |  3 ++-
 GUI/View/Instrument/OffSpecularBeamEditor.cpp     |  6 +++---
 GUI/View/Instrument/SpecularBeamEditor.cpp        |  4 ++--
 GUI/View/Job/JobResultsPresenter.cpp              |  2 +-
 GUI/View/Job/JobView.cpp                          |  2 +-
 GUI/View/Main/MainWindow.cpp                      |  4 ++--
 GUI/View/SampleDesigner/FormLayouter.cpp          |  2 +-
 GUI/View/SampleDesigner/InterferenceForm.cpp      |  2 +-
 GUI/View/SampleDesigner/LayerForm.cpp             |  2 +-
 GUI/View/SampleDesigner/MultiLayerForm.cpp        |  2 +-
 .../SampleDesigner/ParticleCompositionForm.cpp    |  2 +-
 GUI/View/SampleDesigner/ParticleCoreShellForm.cpp |  2 +-
 GUI/View/SampleDesigner/ParticleForm.cpp          |  2 +-
 GUI/View/SampleDesigner/ParticleLayoutForm.cpp    |  2 +-
 GUI/View/Tool/ID.h                                |  4 ++++
 GUI/View/Toplevel/SimulationView.cpp              |  2 +-
 24 files changed, 54 insertions(+), 50 deletions(-)

diff --git a/GUI/View/Compare/FitComparisonWidget.cpp b/GUI/View/Compare/FitComparisonWidget.cpp
index a320df61b54..c62447071a6 100644
--- a/GUI/View/Compare/FitComparisonWidget.cpp
+++ b/GUI/View/Compare/FitComparisonWidget.cpp
@@ -17,12 +17,12 @@
 #include "GUI/Model/Data/RealDataItem.h"
 #include "GUI/Model/Fit/FitSuiteItem.h"
 #include "GUI/Model/Job/JobItem.h"
+#include "GUI/View/Compare/FitComparisonController.h"
+#include "GUI/View/Compare/FitFlowWidget.h"
 #include "GUI/View/Intensity/ColorMap.h"
 #include "GUI/View/Intensity/ColorMapCanvas.h"
 #include "GUI/View/Intensity/IntensityDataPropertyWidget.h"
 #include "GUI/View/Intensity/PlotStatusLabel.h"
-#include "GUI/View/Compare/FitComparisonController.h"
-#include "GUI/View/Compare/FitFlowWidget.h"
 #include <QAction>
 #include <QGridLayout>
 #include <QVBoxLayout>
diff --git a/GUI/View/Compare/FitComparisonWidget1D.cpp b/GUI/View/Compare/FitComparisonWidget1D.cpp
index 141016cb963..f7e653ff2fd 100644
--- a/GUI/View/Compare/FitComparisonWidget1D.cpp
+++ b/GUI/View/Compare/FitComparisonWidget1D.cpp
@@ -18,11 +18,11 @@
 #include "GUI/Model/Fit/FitSuiteItem.h"
 #include "GUI/Model/Job/JobItem.h"
 #include "GUI/Model/Session/SessionModel.h"
+#include "GUI/View/Compare/FitComparisonViewController.h"
+#include "GUI/View/Compare/FitFlowWidget.h"
 #include "GUI/View/Intensity/IntensityDataPropertyWidget.h"
 #include "GUI/View/Intensity/Plot1D.h"
 #include "GUI/View/Intensity/PlotStatusLabel.h"
-#include "GUI/View/Compare/FitComparisonViewController.h"
-#include "GUI/View/Compare/FitFlowWidget.h"
 #include "GUI/View/SpecularDataWidgets/Plot1DCanvas.h"
 #include <QAction>
 #include <QGridLayout>
diff --git a/GUI/View/Instrument/DepthProbeInstrumentEditor.cpp b/GUI/View/Instrument/DepthProbeInstrumentEditor.cpp
index 2b43ba0eba8..c861c7b96f1 100644
--- a/GUI/View/Instrument/DepthProbeInstrumentEditor.cpp
+++ b/GUI/View/Instrument/DepthProbeInstrumentEditor.cpp
@@ -38,8 +38,8 @@ DepthProbeInstrumentEditor::DepthProbeInstrumentEditor(QWidget* parent, Qt::Wind
     MeanConfig wave_cfg{boost::numeric::interval<double>(std::numeric_limits<double>::min(),
                                                          std::numeric_limits<double>::max()),
                         4, true};
-    m_wavelengthEditor =
-        new DistributionEditor("Wavelength [nm]", wave_cfg, Distributions::Symmetric, this);
+    m_wavelengthEditor = new DistributionEditor("Wavelength [nm]", wave_cfg,
+                                                GUI::ID::Distributions::Symmetric, this);
     grid->addWidget(m_wavelengthEditor, 1, 0);
 
     m_inclinationEditor = new InclinationAnglesEditor(this);
diff --git a/GUI/View/Instrument/DistributionEditor.cpp b/GUI/View/Instrument/DistributionEditor.cpp
index 79fc3093e2c..dd27a782915 100644
--- a/GUI/View/Instrument/DistributionEditor.cpp
+++ b/GUI/View/Instrument/DistributionEditor.cpp
@@ -129,7 +129,7 @@ void assign(const ItemWithDistribution* src, ItemWithDistribution* dst, const bo
 //--------------------------------------------------------------------------------------------------
 
 DistributionSelector::DistributionSelector(const std::optional<MeanConfig>& mean_config,
-                                           Distributions distributions, QWidget* parent,
+                                           GUI::ID::Distributions distributions, QWidget* parent,
                                            Qt::WindowFlags f)
     : QWidget(parent, f), m_item(nullptr), m_meanConfig(mean_config), m_distributions(distributions)
 {
@@ -149,7 +149,7 @@ DistributionSelector::DistributionSelector(const std::optional<MeanConfig>& mean
     m_stack->addWidget(cosform);
     m_forms.emplace(DistributionCosineItem::M_TYPE, cosform);
 
-    if (m_distributions == Distributions::All) {
+    if (m_distributions == GUI::ID::Distributions::All) {
         m_combo->addItem("Gate", DistributionGateItem::M_TYPE);
         GateDistributionForm* gateform = new GateDistributionForm(this);
         connect(gateform, &GateDistributionForm::distributionChanged, this,
@@ -165,7 +165,7 @@ DistributionSelector::DistributionSelector(const std::optional<MeanConfig>& mean
     m_stack->addWidget(gaussform);
     m_forms.emplace(DistributionGaussianItem::M_TYPE, gaussform);
 
-    if (m_distributions == Distributions::All) {
+    if (m_distributions == GUI::ID::Distributions::All) {
         m_combo->addItem("Log normal", DistributionLogNormalItem::M_TYPE);
         LogNormalDistributionForm* lognormform = new LogNormalDistributionForm(this);
         connect(lognormform, &LogNormalDistributionForm::distributionChanged, this,
@@ -188,7 +188,7 @@ DistributionSelector::DistributionSelector(const std::optional<MeanConfig>& mean
     m_stack->addWidget(noneform);
     m_forms.emplace(DistributionNoneItem::M_TYPE, noneform);
 
-    if (m_distributions == Distributions::All) {
+    if (m_distributions == GUI::ID::Distributions::All) {
         m_combo->addItem("Trapezoid", DistributionTrapezoidItem::M_TYPE);
         TrapezoidDistributionForm* trapezoidform = new TrapezoidDistributionForm(this);
         connect(trapezoidform, &TrapezoidDistributionForm::distributionChanged, this,
@@ -217,7 +217,7 @@ const std::optional<MeanConfig>& DistributionSelector::meanConfig() const
     return m_meanConfig;
 }
 
-Distributions DistributionSelector::distributions() const
+GUI::ID::Distributions DistributionSelector::distributions() const
 {
     return m_distributions;
 }
@@ -262,7 +262,7 @@ void DistributionSelector::onDistributionSelected(int index)
 
 DistributionEditor::DistributionEditor(const QString& title,
                                        const std::optional<MeanConfig>& mean_config,
-                                       Distributions distributions, QWidget* parent,
+                                       GUI::ID::Distributions distributions, QWidget* parent,
                                        Qt::WindowFlags f)
     : QWidget(parent, f), m_title(title)
 {
diff --git a/GUI/View/Instrument/DistributionEditor.h b/GUI/View/Instrument/DistributionEditor.h
index 555f4a155c2..a0a66b2bfff 100644
--- a/GUI/View/Instrument/DistributionEditor.h
+++ b/GUI/View/Instrument/DistributionEditor.h
@@ -15,6 +15,7 @@
 #ifndef BORNAGAIN_GUI_VIEW_INSTRUMENT_DISTRIBUTIONEDITOR_H
 #define BORNAGAIN_GUI_VIEW_INSTRUMENT_DISTRIBUTIONEDITOR_H
 
+#include "GUI/View/Tool/ID.h"
 #include <QWidget>
 
 class QComboBox;
@@ -35,9 +36,6 @@ struct MeanConfig {
     bool scientific;                        // whether to use a scientific number notation
 };
 
-/// enum used to configure which distributions should be available in the selector
-enum class Distributions { All, Symmetric };
-
 /// Widget for selecting a distribution (combo box) and input of the corresponding values
 /// with respect to the given distribution (e.g. mean and deviation for gauss distribution)
 
@@ -51,12 +49,13 @@ public:
     /// \pre ! mean_config && distributions == Distributions::Symmetric
     ///      (i.e. the combination of all distributions without mean input is currently not
     ///       supported)
-    DistributionSelector(const std::optional<MeanConfig>& mean_config, Distributions distributions,
-                         QWidget* parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
+    DistributionSelector(const std::optional<MeanConfig>& mean_config,
+                         GUI::ID::Distributions distributions, QWidget* parent = nullptr,
+                         Qt::WindowFlags f = Qt::WindowFlags());
     void setItem(ItemWithDistribution* item);
     ItemWithDistribution* item() const;
     const std::optional<MeanConfig>& meanConfig() const;
-    Distributions distributions() const;
+    GUI::ID::Distributions distributions() const;
     void clearItem();
     void refresh();
 
@@ -72,7 +71,7 @@ private:
     std::map<QString, DistributionForm*> m_forms;
     ItemWithDistribution* m_item;
     std::optional<MeanConfig> m_meanConfig;
-    Distributions m_distributions;
+    GUI::ID::Distributions m_distributions;
 };
 
 
@@ -84,7 +83,7 @@ class DistributionEditor : public QWidget {
 
 public:
     DistributionEditor(const QString& title, const std::optional<MeanConfig>& mean_config,
-                       Distributions distributions, QWidget* parent = nullptr,
+                       GUI::ID::Distributions distributions, QWidget* parent = nullptr,
                        Qt::WindowFlags f = Qt::WindowFlags());
     void setItem(ItemWithDistribution* item);
     void clearItem();
diff --git a/GUI/View/Instrument/EditDistributionDialog.cpp b/GUI/View/Instrument/EditDistributionDialog.cpp
index 244b9c28f75..8b8983b67c0 100644
--- a/GUI/View/Instrument/EditDistributionDialog.cpp
+++ b/GUI/View/Instrument/EditDistributionDialog.cpp
@@ -24,8 +24,8 @@
 
 EditDistributionDialog::EditDistributionDialog(ItemWithDistribution* item, const QString& title,
                                                const std::optional<MeanConfig>& mean_config,
-                                               Distributions distributions, QWidget* parent,
-                                               Qt::WindowFlags f)
+                                               GUI::ID::Distributions distributions,
+                                               QWidget* parent, Qt::WindowFlags f)
     : QDialog(parent, f), m_item(item)
 {
     setMinimumSize(256, 256);
diff --git a/GUI/View/Instrument/EditDistributionDialog.h b/GUI/View/Instrument/EditDistributionDialog.h
index e33ecfa5833..f61e190637d 100644
--- a/GUI/View/Instrument/EditDistributionDialog.h
+++ b/GUI/View/Instrument/EditDistributionDialog.h
@@ -15,13 +15,13 @@
 #ifndef BORNAGAIN_GUI_VIEW_INSTRUMENT_EDITDISTRIBUTIONDIALOG_H
 #define BORNAGAIN_GUI_VIEW_INSTRUMENT_EDITDISTRIBUTIONDIALOG_H
 
-#include "GUI/View/Instrument/DistributionEditor.h"
-
+#include "GUI/View/Tool/ID.h"
 #include <QDialog>
+
 class DistributionPlot;
 class DistributionSelector;
 class ItemWithDistribution;
-
+struct MeanConfig;
 
 //! The dialog which shows an editor to change parameters of DistributionItem
 class EditDistributionDialog : public QDialog {
@@ -30,7 +30,7 @@ class EditDistributionDialog : public QDialog {
 public:
     EditDistributionDialog(ItemWithDistribution* item, const QString& title,
                            const std::optional<MeanConfig>& mean_config,
-                           Distributions distributions, QWidget* parent = nullptr,
+                           GUI::ID::Distributions distributions, QWidget* parent = nullptr,
                            Qt::WindowFlags f = Qt::WindowFlags());
 
 private slots:
diff --git a/GUI/View/Instrument/GISASBeamEditor.cpp b/GUI/View/Instrument/GISASBeamEditor.cpp
index 7eab586a6b3..559c7c0db8a 100644
--- a/GUI/View/Instrument/GISASBeamEditor.cpp
+++ b/GUI/View/Instrument/GISASBeamEditor.cpp
@@ -46,19 +46,19 @@ GISASBeamEditor::GISASBeamEditor(QWidget* parent, Qt::WindowFlags f)
                                                          std::numeric_limits<double>::max()),
                         4, true};
     m_wavelengthEditor =
-        new DistributionEditor("Wavelength [nm]", wave_cfg, Distributions::All, this);
+        new DistributionEditor("Wavelength [nm]", wave_cfg, GUI::ID::Distributions::All, this);
     grid->addWidget(m_wavelengthEditor, 1, 0);
 
     // valid input range is [0,90]
     MeanConfig incl_cfg{boost::numeric::interval<double>(0.0, 90.0), 3, false};
-    m_inclinationEditor =
-        new DistributionEditor("Inclination angle [deg]", incl_cfg, Distributions::All, this);
+    m_inclinationEditor = new DistributionEditor("Inclination angle [deg]", incl_cfg,
+                                                 GUI::ID::Distributions::All, this);
     grid->addWidget(m_inclinationEditor, 1, 1);
 
     // valid input range is [-90,90]
     MeanConfig azim_cfg{boost::numeric::interval<double>(-90.0, 90.0), 3, false};
-    m_azimuthalEditor =
-        new DistributionEditor("Azimuthal angle [deg]", azim_cfg, Distributions::All, this);
+    m_azimuthalEditor = new DistributionEditor("Azimuthal angle [deg]", azim_cfg,
+                                               GUI::ID::Distributions::All, this);
     grid->addWidget(m_azimuthalEditor, 1, 2);
 }
 
diff --git a/GUI/View/Instrument/InclinationAnglesEditor.cpp b/GUI/View/Instrument/InclinationAnglesEditor.cpp
index ab7ec36b1af..e660b493d95 100644
--- a/GUI/View/Instrument/InclinationAnglesEditor.cpp
+++ b/GUI/View/Instrument/InclinationAnglesEditor.cpp
@@ -47,7 +47,8 @@ InclinationAnglesEditor::InclinationAnglesEditor(QWidget* parent, Qt::WindowFlag
     connect(gbox, &GroupInfoBox::clicked, this, &InclinationAnglesEditor::showDialog);
     layout->addWidget(gbox);
 
-    m_distributionEditor = new DistributionSelector(std::nullopt, Distributions::Symmetric, gbox);
+    m_distributionEditor =
+        new DistributionSelector(std::nullopt, GUI::ID::Distributions::Symmetric, gbox);
     gform->addRow(m_distributionEditor);
 
     m_typeComboBox = new QComboBox(gbox);
diff --git a/GUI/View/Instrument/OffSpecularBeamEditor.cpp b/GUI/View/Instrument/OffSpecularBeamEditor.cpp
index f3ff9e7eb01..365922f283f 100644
--- a/GUI/View/Instrument/OffSpecularBeamEditor.cpp
+++ b/GUI/View/Instrument/OffSpecularBeamEditor.cpp
@@ -50,7 +50,7 @@ OffSpecularBeamEditor::OffSpecularBeamEditor(QWidget* parent, Qt::WindowFlags f)
                                                          std::numeric_limits<double>::max()),
                         4, true};
     m_wavelengthEditor =
-        new DistributionEditor("Wavelength [nm]", wave_cfg, Distributions::All, this);
+        new DistributionEditor("Wavelength [nm]", wave_cfg, GUI::ID::Distributions::All, this);
     grid->addWidget(m_wavelengthEditor, 1, 0);
 
     m_inclinationEditor = new SphericalAxisEditor("Inclination angle [deg]", this);
@@ -58,8 +58,8 @@ OffSpecularBeamEditor::OffSpecularBeamEditor(QWidget* parent, Qt::WindowFlags f)
 
     // valid input range is [-90,90]
     MeanConfig azim_cfg{boost::numeric::interval<double>(-90.0, 90.0), 3, false};
-    m_azimuthalEditor =
-        new DistributionEditor("Azimuthal angle [deg]", azim_cfg, Distributions::All, this);
+    m_azimuthalEditor = new DistributionEditor("Azimuthal angle [deg]", azim_cfg,
+                                               GUI::ID::Distributions::All, this);
     grid->addWidget(m_azimuthalEditor, 1, 2);
 }
 
diff --git a/GUI/View/Instrument/SpecularBeamEditor.cpp b/GUI/View/Instrument/SpecularBeamEditor.cpp
index 607aaa7fb7d..490582b4139 100644
--- a/GUI/View/Instrument/SpecularBeamEditor.cpp
+++ b/GUI/View/Instrument/SpecularBeamEditor.cpp
@@ -57,8 +57,8 @@ SpecularBeamEditor::SpecularBeamEditor(QWidget* parent, Qt::WindowFlags f)
     MeanConfig wave_cfg{boost::numeric::interval<double>(std::numeric_limits<double>::min(),
                                                          std::numeric_limits<double>::max()),
                         4, true};
-    m_wavelengthEditor =
-        new DistributionEditor("Wavelength [nm]", wave_cfg, Distributions::Symmetric, this);
+    m_wavelengthEditor = new DistributionEditor("Wavelength [nm]", wave_cfg,
+                                                GUI::ID::Distributions::Symmetric, this);
     grid->addWidget(m_wavelengthEditor, 1, 0);
 
     m_inclinationEditor = new InclinationAnglesEditor(this);
diff --git a/GUI/View/Job/JobResultsPresenter.cpp b/GUI/View/Job/JobResultsPresenter.cpp
index 3ba5d2665d8..51f8803fbb2 100644
--- a/GUI/View/Job/JobResultsPresenter.cpp
+++ b/GUI/View/Job/JobResultsPresenter.cpp
@@ -15,9 +15,9 @@
 #include "GUI/View/Job/JobResultsPresenter.h"
 #include "GUI/Model/Instrument/InstrumentItems.h"
 #include "GUI/Model/Job/JobItem.h"
-#include "GUI/View/Intensity/IntensityDataWidget.h"
 #include "GUI/View/Compare/FitComparisonWidget.h"
 #include "GUI/View/Compare/FitComparisonWidget1D.h"
+#include "GUI/View/Intensity/IntensityDataWidget.h"
 #include "GUI/View/Job/JobViewActivities.h"
 #include "GUI/View/Projection/IntensityDataProjectionsWidget.h"
 #include "GUI/View/SpecularDataWidgets/SpecularDataWidget.h"
diff --git a/GUI/View/Job/JobView.cpp b/GUI/View/Job/JobView.cpp
index 14decc74821..588d0f92a39 100644
--- a/GUI/View/Job/JobView.cpp
+++ b/GUI/View/Job/JobView.cpp
@@ -17,8 +17,8 @@
 #include "GUI/Model/Job/JobModel.h"
 #include "GUI/View/Common/DocksController.h"
 #include "GUI/View/FitWidgets/FitActivityPanel.h"
-#include "GUI/View/FitWidgets/JobRealTimeWidget.h"
 #include "GUI/View/FitWidgets/JobMessagePanel.h"
+#include "GUI/View/FitWidgets/JobRealTimeWidget.h"
 #include "GUI/View/Job/JobProgressAssistant.h"
 #include "GUI/View/Job/JobResultsPresenter.h"
 #include "GUI/View/Job/JobSelectorWidget.h"
diff --git a/GUI/View/Main/MainWindow.cpp b/GUI/View/Main/MainWindow.cpp
index 514da5224b1..52265bd3fd7 100644
--- a/GUI/View/Main/MainWindow.cpp
+++ b/GUI/View/Main/MainWindow.cpp
@@ -19,13 +19,13 @@
 #include "GUI/Util/OSInfo.h"
 #include "GUI/Util/Path.h"
 #include "GUI/Util/mainwindow_constants.h"
+#include "GUI/View/Import/ImportDataView.h"
 #include "GUI/View/Instrument/InstrumentView.h"
 #include "GUI/View/Job/JobView.h"
 #include "GUI/View/Main/ActionManager.h"
 #include "GUI/View/Main/ProjectManager.h"
-#include "GUI/View/Import/ImportDataView.h"
-#include "GUI/View/Toplevel/ProjectSettingsView.h"
 #include "GUI/View/SampleDesigner/SampleView.h"
+#include "GUI/View/Toplevel/ProjectSettingsView.h"
 #include "GUI/View/Toplevel/SessionModelView.h"
 #include "GUI/View/Toplevel/SimulationView.h"
 #include "GUI/View/Toplevel/WelcomeView.h"
diff --git a/GUI/View/SampleDesigner/FormLayouter.cpp b/GUI/View/SampleDesigner/FormLayouter.cpp
index efe7991ce40..425f9d56844 100644
--- a/GUI/View/SampleDesigner/FormLayouter.cpp
+++ b/GUI/View/SampleDesigner/FormLayouter.cpp
@@ -16,9 +16,9 @@
 #include "GUI/Model/Types/UIntDescriptor.h"
 #include "GUI/Model/Types/VectorDescriptor.h"
 #include "GUI/View/Edit/DoubleSpinBox.h"
-#include "GUI/View/Tool/GroupBoxCollapser.h"
 #include "GUI/View/SampleDesigner/LayerEditorUtils.h"
 #include "GUI/View/SampleDesigner/SampleEditorController.h"
+#include "GUI/View/Tool/GroupBoxCollapser.h"
 
 #include <QFormLayout>
 #include <QGroupBox>
diff --git a/GUI/View/SampleDesigner/InterferenceForm.cpp b/GUI/View/SampleDesigner/InterferenceForm.cpp
index 3f11a8c78b2..324efd05a25 100644
--- a/GUI/View/SampleDesigner/InterferenceForm.cpp
+++ b/GUI/View/SampleDesigner/InterferenceForm.cpp
@@ -17,9 +17,9 @@
 #include "GUI/Model/Sample/ParticleLayoutItem.h"
 #include "GUI/View/PropertyEditor/CustomEventFilters.h"
 #include "GUI/View/SampleDesigner/FormLayouter.h"
-#include "GUI/View/Tool/GroupBoxCollapser.h"
 #include "GUI/View/SampleDesigner/SampleEditorController.h"
 #include "GUI/View/SampleDesigner/SelectionContainerForm.h"
+#include "GUI/View/Tool/GroupBoxCollapser.h"
 
 InterferenceForm::InterferenceForm(QWidget* parent, ParticleLayoutItem* layoutItem,
                                    SampleEditorController* ec)
diff --git a/GUI/View/SampleDesigner/LayerForm.cpp b/GUI/View/SampleDesigner/LayerForm.cpp
index 3411be95dab..cb263857d56 100644
--- a/GUI/View/SampleDesigner/LayerForm.cpp
+++ b/GUI/View/SampleDesigner/LayerForm.cpp
@@ -17,10 +17,10 @@
 #include "GUI/Model/Sample/MultiLayerItem.h"
 #include "GUI/Model/Types/UIntDescriptor.h"
 #include "GUI/View/SampleDesigner/ActionFactory.h"
-#include "GUI/View/Tool/GroupBoxCollapser.h"
 #include "GUI/View/SampleDesigner/MaterialInplaceForm.h"
 #include "GUI/View/SampleDesigner/ParticleLayoutForm.h"
 #include "GUI/View/SampleDesigner/WidgetMoverButton.h"
+#include "GUI/View/Tool/GroupBoxCollapser.h"
 
 #include <QLineEdit>
 #include <QMenu>
diff --git a/GUI/View/SampleDesigner/MultiLayerForm.cpp b/GUI/View/SampleDesigner/MultiLayerForm.cpp
index 84931bf8163..f60bead3a0d 100644
--- a/GUI/View/SampleDesigner/MultiLayerForm.cpp
+++ b/GUI/View/SampleDesigner/MultiLayerForm.cpp
@@ -16,13 +16,13 @@
 #include "GUI/Model/Sample/MultiLayerItem.h"
 #include "GUI/Model/Types/VectorDescriptor.h"
 #include "GUI/View/Edit/DoubleSpinBox.h"
-#include "GUI/View/Tool/GroupBoxCollapser.h"
 #include "GUI/View/SampleDesigner/LayerForm.h"
 #include "GUI/View/SampleDesigner/MesoCrystalForm.h"
 #include "GUI/View/SampleDesigner/ParticleCompositionForm.h"
 #include "GUI/View/SampleDesigner/ParticleCoreShellForm.h"
 #include "GUI/View/SampleDesigner/ParticleForm.h"
 #include "GUI/View/SampleDesigner/ParticleLayoutForm.h"
+#include "GUI/View/Tool/GroupBoxCollapser.h"
 
 #include <QBoxLayout>
 #include <QLabel>
diff --git a/GUI/View/SampleDesigner/ParticleCompositionForm.cpp b/GUI/View/SampleDesigner/ParticleCompositionForm.cpp
index 2166c066f84..40cbc9909b2 100644
--- a/GUI/View/SampleDesigner/ParticleCompositionForm.cpp
+++ b/GUI/View/SampleDesigner/ParticleCompositionForm.cpp
@@ -17,8 +17,8 @@
 #include "GUI/Model/Types/VectorDescriptor.h"
 #include "GUI/View/SampleDesigner/ActionFactory.h"
 #include "GUI/View/SampleDesigner/FormLayouter.h"
-#include "GUI/View/Tool/GroupBoxCollapser.h"
 #include "GUI/View/SampleDesigner/LayerEditorUtils.h"
+#include "GUI/View/Tool/GroupBoxCollapser.h"
 
 #include <QAction>
 #include <QPushButton>
diff --git a/GUI/View/SampleDesigner/ParticleCoreShellForm.cpp b/GUI/View/SampleDesigner/ParticleCoreShellForm.cpp
index 7c93b133965..0097f0ebd14 100644
--- a/GUI/View/SampleDesigner/ParticleCoreShellForm.cpp
+++ b/GUI/View/SampleDesigner/ParticleCoreShellForm.cpp
@@ -19,9 +19,9 @@
 #include "GUI/Model/Types/VectorDescriptor.h"
 #include "GUI/View/SampleDesigner/ActionFactory.h"
 #include "GUI/View/SampleDesigner/FormLayouter.h"
-#include "GUI/View/Tool/GroupBoxCollapser.h"
 #include "GUI/View/SampleDesigner/SampleEditorController.h"
 #include "GUI/View/SampleDesigner/SelectionContainerForm.h"
+#include "GUI/View/Tool/GroupBoxCollapser.h"
 
 #include <QAction>
 #include <QComboBox>
diff --git a/GUI/View/SampleDesigner/ParticleForm.cpp b/GUI/View/SampleDesigner/ParticleForm.cpp
index 85264d1fb10..c07bfc9f6a3 100644
--- a/GUI/View/SampleDesigner/ParticleForm.cpp
+++ b/GUI/View/SampleDesigner/ParticleForm.cpp
@@ -18,8 +18,8 @@
 #include "GUI/Model/Types/VectorDescriptor.h"
 #include "GUI/View/SampleDesigner/ActionFactory.h"
 #include "GUI/View/SampleDesigner/FormLayouter.h"
-#include "GUI/View/Tool/GroupBoxCollapser.h"
 #include "GUI/View/SampleDesigner/MaterialInplaceForm.h"
+#include "GUI/View/Tool/GroupBoxCollapser.h"
 
 #include <QAction>
 
diff --git a/GUI/View/SampleDesigner/ParticleLayoutForm.cpp b/GUI/View/SampleDesigner/ParticleLayoutForm.cpp
index a7559e853a0..8211e76fdef 100644
--- a/GUI/View/SampleDesigner/ParticleLayoutForm.cpp
+++ b/GUI/View/SampleDesigner/ParticleLayoutForm.cpp
@@ -16,11 +16,11 @@
 #include "GUI/Model/Sample/ItemWithParticles.h"
 #include "GUI/Model/Sample/ParticleLayoutItem.h"
 #include "GUI/View/SampleDesigner/ActionFactory.h"
-#include "GUI/View/Tool/GroupBoxCollapser.h"
 #include "GUI/View/SampleDesigner/InterferenceForm.h"
 #include "GUI/View/SampleDesigner/LayerEditorUtils.h"
 #include "GUI/View/SampleDesigner/LayerForm.h"
 #include "GUI/View/SampleDesigner/SampleEditorController.h"
+#include "GUI/View/Tool/GroupBoxCollapser.h"
 
 #include <QAction>
 #include <QPushButton>
diff --git a/GUI/View/Tool/ID.h b/GUI/View/Tool/ID.h
index 9f70a1febe8..ac636c5311f 100644
--- a/GUI/View/Tool/ID.h
+++ b/GUI/View/Tool/ID.h
@@ -17,8 +17,12 @@
 
 namespace GUI::ID {
 
+//! Top-level windows
 enum ViewId { WELCOME, PROJECT, INSTRUMENT, SAMPLE, IMPORT, SIMULATION, JOB, SESSIONMODEL };
 
+//! Which distributions should be available in the selector
+enum class Distributions { All, Symmetric };
+
 } // namespace GUI::ID
 
 #endif // BORNAGAIN_GUI_VIEW_TOOL_ID_H
diff --git a/GUI/View/Toplevel/SimulationView.cpp b/GUI/View/Toplevel/SimulationView.cpp
index d52e49b51b0..aa7df8aab05 100644
--- a/GUI/View/Toplevel/SimulationView.cpp
+++ b/GUI/View/Toplevel/SimulationView.cpp
@@ -29,8 +29,8 @@
 #include "GUI/Model/Session/SimulationOptionsItem.h"
 #include "GUI/Model/State/SessionData.h"
 #include "GUI/View/Main/ProjectManager.h"
-#include "GUI/View/Tool/GroupBoxCollapser.h"
 #include "GUI/View/Script/PythonScriptWidget.h"
+#include "GUI/View/Tool/GroupBoxCollapser.h"
 #include "ui_SimulationView.h"
 #include <QButtonGroup>
 #include <QMessageBox>
-- 
GitLab