From 85e3a3afab26c140ec46daf402681d0de6356643 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Tue, 2 Nov 2021 08:57:44 +0100 Subject: [PATCH] move project invocation to Views --- GUI/Models/Sample/SampleListModel.cpp | 8 +++----- GUI/Models/Sample/SampleListModel.h | 4 +++- GUI/Views/SampleDesigner/FormLayouter.cpp | 2 +- .../SampleDesigner}/GroupBoxCollapser.cpp | 2 +- .../SampleDesigner}/GroupBoxCollapser.h | 8 ++++---- GUI/Views/SampleDesigner/InterferenceForm.cpp | 2 +- GUI/Views/SampleDesigner/LayerForm.cpp | 2 +- GUI/Views/SampleDesigner/MesoCrystalForm.cpp | 2 +- GUI/Views/SampleDesigner/MultiLayerForm.cpp | 2 +- GUI/Views/SampleDesigner/ParticleCompositionForm.cpp | 2 +- GUI/Views/SampleDesigner/ParticleCoreShellForm.cpp | 2 +- GUI/Views/SampleDesigner/ParticleForm.cpp | 2 +- GUI/Views/SampleDesigner/ParticleLayoutForm.cpp | 2 +- GUI/Views/SampleDesigner/SampleListView.cpp | 4 +++- GUI/Views/Toplevel/ProjectSettingsView.cpp | 2 +- GUI/Views/Toplevel/SimulationView.cpp | 2 +- GUI/Views/Toplevel/WelcomeView.cpp | 2 +- 17 files changed, 26 insertions(+), 24 deletions(-) rename GUI/{CommonWidgets => Views/SampleDesigner}/GroupBoxCollapser.cpp (98%) rename GUI/{CommonWidgets => Views/SampleDesigner}/GroupBoxCollapser.h (90%) diff --git a/GUI/Models/Sample/SampleListModel.cpp b/GUI/Models/Sample/SampleListModel.cpp index 0091de36855..31a7f08bc11 100644 --- a/GUI/Models/Sample/SampleListModel.cpp +++ b/GUI/Models/Sample/SampleListModel.cpp @@ -13,13 +13,10 @@ // ************************************************************************************************ #include "GUI/Models/Sample/SampleListModel.h" -#include "GUI/Application/Application.h" #include "GUI/Models/Sample/GUIExamplesFactory.h" #include "GUI/Mapper/ModelUtils.h" #include "GUI/Items/MultiLayerItem.h" #include "GUI/Models/Sample/SampleModel.h" -#include "GUI/Project/projectmanager.h" -#include <QApplication> #include <QFontMetrics> #include <QIcon> @@ -142,13 +139,14 @@ QModelIndex SampleListModel::createSample() QModelIndex SampleListModel::createSampleFromExamples(const QString& className, const QString& title, - const QString& description) + const QString& description, + MaterialModel* materialModel) { const int row = m_sampleModel->multiLayerItems().size(); beginInsertRows(QModelIndex(), row, row); auto* sample = dynamic_cast<MultiLayerItem*>(GUIExamplesFactory::createSampleItems( - className, m_sampleModel, ProjectManager::instance()->document()->materialModel())); + className, m_sampleModel, materialModel)); sample->setItemName(title); sample->setDescription(description); diff --git a/GUI/Models/Sample/SampleListModel.h b/GUI/Models/Sample/SampleListModel.h index 427eb4a7db6..1075037508f 100644 --- a/GUI/Models/Sample/SampleListModel.h +++ b/GUI/Models/Sample/SampleListModel.h @@ -19,6 +19,7 @@ #include <QSet> class SampleModel; +class MaterialModel; class MultiLayerItem; //! List model for sample selection (used in the left pane of the layer oriented sample editor) @@ -43,7 +44,8 @@ public: //! Create a new sample (multilayer) and return the index of it. QModelIndex createSample(); QModelIndex createSampleFromExamples(const QString& className, const QString& title, - const QString& description); + const QString& description, + MaterialModel* materialModel); private: SampleModel* m_sampleModel = nullptr; diff --git a/GUI/Views/SampleDesigner/FormLayouter.cpp b/GUI/Views/SampleDesigner/FormLayouter.cpp index c0a6d8c510e..2e71e9c8eb9 100644 --- a/GUI/Views/SampleDesigner/FormLayouter.cpp +++ b/GUI/Views/SampleDesigner/FormLayouter.cpp @@ -16,7 +16,7 @@ #include "GUI/Models/Types/UIntDescriptor.h" #include "GUI/Models/Types/VectorDescriptor.h" #include "GUI/CommonWidgets/DoubleSpinBox.h" -#include "GUI/CommonWidgets/GroupBoxCollapser.h" +#include "GUI/Views/SampleDesigner/GroupBoxCollapser.h" #include "GUI/Views/SampleDesigner/LayerEditorUtils.h" #include "GUI/Views/SampleDesigner/SampleEditorController.h" diff --git a/GUI/CommonWidgets/GroupBoxCollapser.cpp b/GUI/Views/SampleDesigner/GroupBoxCollapser.cpp similarity index 98% rename from GUI/CommonWidgets/GroupBoxCollapser.cpp rename to GUI/Views/SampleDesigner/GroupBoxCollapser.cpp index 17719ed23e2..1d8113b58fb 100644 --- a/GUI/CommonWidgets/GroupBoxCollapser.cpp +++ b/GUI/Views/SampleDesigner/GroupBoxCollapser.cpp @@ -2,7 +2,7 @@ // // BornAgain: simulate and fit reflection and scattering // -//! @file GUI/CommonWidgets/GroupBoxCollapser.cpp +//! @file GUI/Views/SampleDesigner/GroupBoxCollapser.cpp //! @brief Implements class GroupBoxCollapser //! //! @homepage http://www.bornagainproject.org diff --git a/GUI/CommonWidgets/GroupBoxCollapser.h b/GUI/Views/SampleDesigner/GroupBoxCollapser.h similarity index 90% rename from GUI/CommonWidgets/GroupBoxCollapser.h rename to GUI/Views/SampleDesigner/GroupBoxCollapser.h index 167c8252fbd..b3d5a356650 100644 --- a/GUI/CommonWidgets/GroupBoxCollapser.h +++ b/GUI/Views/SampleDesigner/GroupBoxCollapser.h @@ -2,7 +2,7 @@ // // BornAgain: simulate and fit reflection and scattering // -//! @file GUI/CommonWidgets/GroupBoxCollapser.h +//! @file GUI/Views/SampleDesigner/GroupBoxCollapser.h //! @brief Defines class GroupBoxCollapser //! //! @homepage http://www.bornagainproject.org @@ -12,8 +12,8 @@ // // ************************************************************************************************ -#ifndef BORNAGAIN_GUI_COMMONWIDGETS_GROUPBOXCOLLAPSER_H -#define BORNAGAIN_GUI_COMMONWIDGETS_GROUPBOXCOLLAPSER_H +#ifndef BORNAGAIN_GUI_VIEWS_SAMPLEDESIGNER_GROUPBOXCOLLAPSER_H +#define BORNAGAIN_GUI_VIEWS_SAMPLEDESIGNER_GROUPBOXCOLLAPSER_H #include <QObject> @@ -62,4 +62,4 @@ private: }; -#endif // BORNAGAIN_GUI_COMMONWIDGETS_GROUPBOXCOLLAPSER_H +#endif // BORNAGAIN_GUI_VIEWS_SAMPLEDESIGNER_GROUPBOXCOLLAPSER_H diff --git a/GUI/Views/SampleDesigner/InterferenceForm.cpp b/GUI/Views/SampleDesigner/InterferenceForm.cpp index 29dadd5bc50..994b01f87ef 100644 --- a/GUI/Views/SampleDesigner/InterferenceForm.cpp +++ b/GUI/Views/SampleDesigner/InterferenceForm.cpp @@ -15,7 +15,7 @@ #include "GUI/Views/SampleDesigner/InterferenceForm.h" #include "GUI/Items/InterferenceItems.h" #include "GUI/Items/ParticleLayoutItem.h" -#include "GUI/CommonWidgets/GroupBoxCollapser.h" +#include "GUI/Views/SampleDesigner/GroupBoxCollapser.h" #include "GUI/Views/SampleDesigner/FormLayouter.h" #include "GUI/Views/SampleDesigner/SampleEditorController.h" #include "GUI/Views/SampleDesigner/SelectionContainerForm.h" diff --git a/GUI/Views/SampleDesigner/LayerForm.cpp b/GUI/Views/SampleDesigner/LayerForm.cpp index 9dc0ce3ddbe..043b355d68f 100644 --- a/GUI/Views/SampleDesigner/LayerForm.cpp +++ b/GUI/Views/SampleDesigner/LayerForm.cpp @@ -16,7 +16,7 @@ #include "GUI/Items/LayerItem.h" #include "GUI/Items/MultiLayerItem.h" #include "GUI/Models/Types/UIntDescriptor.h" -#include "GUI/CommonWidgets/GroupBoxCollapser.h" +#include "GUI/Views/SampleDesigner/GroupBoxCollapser.h" #include "GUI/Views/SampleDesigner/MaterialInplaceForm.h" #include "GUI/Views/SampleDesigner/ParticleLayoutForm.h" #include "GUI/Views/SampleDesigner/SampleEditorController.h" diff --git a/GUI/Views/SampleDesigner/MesoCrystalForm.cpp b/GUI/Views/SampleDesigner/MesoCrystalForm.cpp index 458d239f021..08086e1f2a9 100644 --- a/GUI/Views/SampleDesigner/MesoCrystalForm.cpp +++ b/GUI/Views/SampleDesigner/MesoCrystalForm.cpp @@ -17,7 +17,7 @@ #include "GUI/Items/MesoCrystalItem.h" #include "GUI/Items/ParticleItem.h" #include "GUI/Models/Types/VectorDescriptor.h" -#include "GUI/CommonWidgets/GroupBoxCollapser.h" +#include "GUI/Views/SampleDesigner/GroupBoxCollapser.h" #include "GUI/Views/SampleDesigner/FormLayouter.h" #include "GUI/Views/SampleDesigner/LayerEditorUtils.h" #include "GUI/Views/SampleDesigner/SampleEditorController.h" diff --git a/GUI/Views/SampleDesigner/MultiLayerForm.cpp b/GUI/Views/SampleDesigner/MultiLayerForm.cpp index 504deedfce3..d068f23ecbf 100644 --- a/GUI/Views/SampleDesigner/MultiLayerForm.cpp +++ b/GUI/Views/SampleDesigner/MultiLayerForm.cpp @@ -16,7 +16,7 @@ #include "GUI/Items/MultiLayerItem.h" #include "GUI/Models/Types/VectorDescriptor.h" #include "GUI/CommonWidgets/DoubleSpinBox.h" -#include "GUI/CommonWidgets/GroupBoxCollapser.h" +#include "GUI/Views/SampleDesigner/GroupBoxCollapser.h" #include "GUI/Views/SampleDesigner/LayerEditorUtils.h" #include "GUI/Views/SampleDesigner/LayerForm.h" #include "GUI/Views/SampleDesigner/MesoCrystalForm.h" diff --git a/GUI/Views/SampleDesigner/ParticleCompositionForm.cpp b/GUI/Views/SampleDesigner/ParticleCompositionForm.cpp index 4dd1fb3ce1f..a19daf21eb4 100644 --- a/GUI/Views/SampleDesigner/ParticleCompositionForm.cpp +++ b/GUI/Views/SampleDesigner/ParticleCompositionForm.cpp @@ -15,7 +15,7 @@ #include "GUI/Views/SampleDesigner/ParticleCompositionForm.h" #include "GUI/Items/ParticleCompositionItem.h" #include "GUI/Models/Types/VectorDescriptor.h" -#include "GUI/CommonWidgets/GroupBoxCollapser.h" +#include "GUI/Views/SampleDesigner/GroupBoxCollapser.h" #include "GUI/Views/SampleDesigner/FormLayouter.h" #include "GUI/Views/SampleDesigner/LayerEditorUtils.h" #include "GUI/Views/SampleDesigner/SampleEditorController.h" diff --git a/GUI/Views/SampleDesigner/ParticleCoreShellForm.cpp b/GUI/Views/SampleDesigner/ParticleCoreShellForm.cpp index c9004fd32ca..ad84577dd25 100644 --- a/GUI/Views/SampleDesigner/ParticleCoreShellForm.cpp +++ b/GUI/Views/SampleDesigner/ParticleCoreShellForm.cpp @@ -18,7 +18,7 @@ #include "GUI/Items/ParticleCoreShellItem.h" #include "GUI/Items/ParticleItem.h" #include "GUI/Models/Types/VectorDescriptor.h" -#include "GUI/CommonWidgets/GroupBoxCollapser.h" +#include "GUI/Views/SampleDesigner/GroupBoxCollapser.h" #include "GUI/Views/SampleDesigner/SampleEditorController.h" #include "GUI/Views/SampleDesigner/SelectionContainerForm.h" #include "GUI/utils/ActionFactory.h" diff --git a/GUI/Views/SampleDesigner/ParticleForm.cpp b/GUI/Views/SampleDesigner/ParticleForm.cpp index b994a4a733f..250d59bd064 100644 --- a/GUI/Views/SampleDesigner/ParticleForm.cpp +++ b/GUI/Views/SampleDesigner/ParticleForm.cpp @@ -17,7 +17,7 @@ #include "GUI/Items/FormFactorItems.h" #include "GUI/Items/ParticleItem.h" #include "GUI/Models/Types/VectorDescriptor.h" -#include "GUI/CommonWidgets/GroupBoxCollapser.h" +#include "GUI/Views/SampleDesigner/GroupBoxCollapser.h" #include "GUI/Views/SampleDesigner/FormLayouter.h" #include "GUI/Views/SampleDesigner/MaterialInplaceForm.h" #include "GUI/Views/SampleDesigner/SampleEditorController.h" diff --git a/GUI/Views/SampleDesigner/ParticleLayoutForm.cpp b/GUI/Views/SampleDesigner/ParticleLayoutForm.cpp index 470e2289c01..98d95c5369c 100644 --- a/GUI/Views/SampleDesigner/ParticleLayoutForm.cpp +++ b/GUI/Views/SampleDesigner/ParticleLayoutForm.cpp @@ -15,7 +15,7 @@ #include "GUI/Views/SampleDesigner/ParticleLayoutForm.h" #include "GUI/Items/ItemWithParticles.h" #include "GUI/Items/ParticleLayoutItem.h" -#include "GUI/CommonWidgets/GroupBoxCollapser.h" +#include "GUI/Views/SampleDesigner/GroupBoxCollapser.h" #include "GUI/Views/SampleDesigner/InterferenceForm.h" #include "GUI/Views/SampleDesigner/LayerEditorUtils.h" #include "GUI/Views/SampleDesigner/LayerForm.h" diff --git a/GUI/Views/SampleDesigner/SampleListView.cpp b/GUI/Views/SampleDesigner/SampleListView.cpp index afcd8b6ca36..8e8868ec9bc 100644 --- a/GUI/Views/SampleDesigner/SampleListView.cpp +++ b/GUI/Views/SampleDesigner/SampleListView.cpp @@ -19,6 +19,7 @@ #include "GUI/Models/Sample/SampleListModel.h" #include "GUI/CommonWidgets/ItemViewOverlayButtons.h" #include "GUI/utils/ItemDelegateForHTML.h" +#include "GUI/Project/projectmanager.h" #include <QAction> #include <QDialog> #include <QDialogButtonBox> @@ -142,7 +143,8 @@ void SampleListView::createNewSample() void SampleListView::createSampleFromLibrary(const QString& classname, const QString& title, const QString& description) { - const QModelIndex newIndex = m_model->createSampleFromExamples(classname, title, description); + const QModelIndex newIndex = m_model->createSampleFromExamples(classname, title, description, + ProjectManager::instance()->document()->materialModel()); setCurrentIndex(newIndex); } diff --git a/GUI/Views/Toplevel/ProjectSettingsView.cpp b/GUI/Views/Toplevel/ProjectSettingsView.cpp index 8dd5b2e7293..4b09cff2165 100644 --- a/GUI/Views/Toplevel/ProjectSettingsView.cpp +++ b/GUI/Views/Toplevel/ProjectSettingsView.cpp @@ -17,7 +17,7 @@ #include "GUI/Models/Data/ApplicationModels.h" #include "GUI/Models/Instrument/InstrumentModel.h" #include "GUI/Models/Sample/SampleModel.h" -#include "GUI/CommonWidgets/GroupBoxCollapser.h" +#include "GUI/Views/SampleDesigner/GroupBoxCollapser.h" #include "GUI/Project/projectdocument.h" #include "GUI/utils/qstringutils.h" #include "ui_ProjectSettingsView.h" diff --git a/GUI/Views/Toplevel/SimulationView.cpp b/GUI/Views/Toplevel/SimulationView.cpp index 4287d170403..808dedd6b8f 100644 --- a/GUI/Views/Toplevel/SimulationView.cpp +++ b/GUI/Views/Toplevel/SimulationView.cpp @@ -26,7 +26,7 @@ #include "GUI/Models/Sample/SampleModel.h" #include "GUI/Models/Sample/SampleValidator.h" #include "GUI/Items/SimulationOptionsItem.h" -#include "GUI/CommonWidgets/GroupBoxCollapser.h" +#include "GUI/Views/SampleDesigner/GroupBoxCollapser.h" #include "GUI/Views/SimulationWidgets/PythonScriptWidget.h" #include "GUI/mainwindow/mainwindow.h" #include "GUI/Project/projectdocument.h" diff --git a/GUI/Views/Toplevel/WelcomeView.cpp b/GUI/Views/Toplevel/WelcomeView.cpp index a0b0417020f..d5c7e51489f 100644 --- a/GUI/Views/Toplevel/WelcomeView.cpp +++ b/GUI/Views/Toplevel/WelcomeView.cpp @@ -13,7 +13,7 @@ // ************************************************************************************************ #include "GUI/Views/Toplevel/WelcomeView.h" -#include "GUI/CommonWidgets/GroupBoxCollapser.h" +#include "GUI/Views/SampleDesigner/GroupBoxCollapser.h" #include "GUI/Project/projectmanager.h" #include "GUI/utils/LayoutUtils.h" #include "GUI/utils/qstringutils.h" -- GitLab