diff --git a/GUI/View/SampleDesigner/FormLayouter.cpp b/GUI/View/SampleDesigner/FormLayouter.cpp index 54601b0e50fb4232958c3cd27ee074d172b7ad3c..e6d55171a9dfa9bdcc9541a120850b7528a2ded5 100644 --- a/GUI/View/SampleDesigner/FormLayouter.cpp +++ b/GUI/View/SampleDesigner/FormLayouter.cpp @@ -157,7 +157,7 @@ int FormLayouter::addValue(DoubleProperty& d, function<void(double)> onValueChan void FormLayouter::insertValue(int row, DoubleProperty& d) { - insertValue(row, d, [ec=m_ec, &d](double newValue) { ec->setDouble(newValue, d); }); + insertValue(row, d, [ec = m_ec, &d](double newValue) { ec->setDouble(newValue, d); }); } void FormLayouter::insertValue(int row, DoubleProperty& d, function<void(double)> onValueChange) diff --git a/GUI/View/SampleDesigner/LayerEditorUtil.cpp b/GUI/View/SampleDesigner/LayerEditorUtil.cpp index d179b1def036f6e35ff50fe8dc14c78fcf21a71e..1a5fa4f21658b92caff13702175ab5c86bad2456 100644 --- a/GUI/View/SampleDesigner/LayerEditorUtil.cpp +++ b/GUI/View/SampleDesigner/LayerEditorUtil.cpp @@ -14,13 +14,11 @@ #include "GUI/View/SampleDesigner/LayerEditorUtil.h" #include "Base/Util/Assert.h" +#include "GUI/Model/Descriptor/VectorProperty.h" #include "GUI/Model/Sample/CompoundItem.h" #include "GUI/Model/Sample/CoreAndShellItem.h" -#include "GUI/Model/Sample/FormFactorItems.h" #include "GUI/Model/Sample/MesocrystalItem.h" #include "GUI/Model/Sample/ParticleItem.h" -#include "GUI/Model/Sample/ProfileItems.h" -#include "GUI/Model/Sample/RoughnessItems.h" #include "GUI/View/Numeric/DoubleLineEdit.h" #include "GUI/View/Numeric/DoubleSpinBox.h" #include "GUI/View/SampleDesigner/CompoundForm.h" @@ -131,41 +129,6 @@ void LayerEditorUtil::addMagnetizationNoZToGrid( addSpacer); } -DoubleProperties LayerEditorUtil::doublePropertiesOfItem(RotationItem* item) -{ - if (!item) - return {}; - return item->rotationProperties(); -} - -DoubleProperties LayerEditorUtil::doublePropertiesOfItem(Profile2DItem* item) -{ - if (!item) - return {}; - return item->profileProperties(); -} - -DoubleProperties LayerEditorUtil::doublePropertiesOfItem(Profile1DItem* item) -{ - if (!item) - return {}; - return item->profileProperties(); -} - -DoubleProperties LayerEditorUtil::doublePropertiesOfItem(FormFactorItem* item) -{ - if (!item) - return {}; - return item->geometryProperties(); -} - -DoubleProperties LayerEditorUtil::doublePropertiesOfItem(RoughnessItem* item) -{ - if (!item) - return {}; - return item->roughnessProperties(); -} - QWidget* LayerEditorUtil::createWidgetForItemWithParticles(QWidget* parentWidget, ItemWithParticles* itemWithParticles, bool allowAbundance, diff --git a/GUI/View/SampleDesigner/LayerEditorUtil.h b/GUI/View/SampleDesigner/LayerEditorUtil.h index c33e49b3d3edb3ddf5676e8e0846515800f0903f..8f3bb4770786e50328de3b4a539f4f7807ac79ba 100644 --- a/GUI/View/SampleDesigner/LayerEditorUtil.h +++ b/GUI/View/SampleDesigner/LayerEditorUtil.h @@ -59,12 +59,6 @@ void addMagnetizationNoZToGrid(QGridLayout* m_gridLayout, int firstCol, VectorPr std::function<void(double, DoubleProperty&)> setNewValue, bool vertically, bool addSpacer); -DoubleProperties doublePropertiesOfItem(RoughnessItem* item); -DoubleProperties doublePropertiesOfItem(FormFactorItem* item); -DoubleProperties doublePropertiesOfItem(Profile1DItem* item); -DoubleProperties doublePropertiesOfItem(Profile2DItem* item); -DoubleProperties doublePropertiesOfItem(RotationItem* item); - QWidget* createWidgetForItemWithParticles(QWidget* parentWidget, ItemWithParticles* itemWithParticles, bool allowAbundance, SampleEditorController* ec, bool allowRemove = true); diff --git a/GUI/View/SampleDesigner/SelectionContainerForm.cpp b/GUI/View/SampleDesigner/SelectionContainerForm.cpp index 83d246b1c55e9fc7a2b996fa991ec309e6d32958..e7c11e887ea8cb18478d52f1d45925284aaa5b16 100644 --- a/GUI/View/SampleDesigner/SelectionContainerForm.cpp +++ b/GUI/View/SampleDesigner/SelectionContainerForm.cpp @@ -13,6 +13,10 @@ // ************************************************************************************************ #include "GUI/View/SampleDesigner/SelectionContainerForm.h" +#include "GUI/Model/Sample/FormFactorItems.h" +#include "GUI/Model/Sample/ProfileItems.h" +#include "GUI/Model/Sample/RotationItems.h" +#include "GUI/Model/Sample/RoughnessItems.h" #include "GUI/Support/Tool/LayoutUtil.h" ISelectionContainerForm::ISelectionContainerForm(QWidget* parent, SampleEditorController* ec) @@ -29,9 +33,43 @@ void ISelectionContainerForm::clear() m_gridLayout->addWidget(layoutItemOfComboBox->widget(), 1, 0); } - void SelectionContainerForm::createContent() { if (currentValues != nullptr) LayerEditorUtil::addMultiPropertyToGrid(m_gridLayout, 1, currentValues(), m_ec, true); } + +DoubleProperties SelectionContainerForm::doublePropertiesOfItem(RotationItem* item) +{ + if (!item) + return {}; + return item->rotationProperties(); +} + +DoubleProperties SelectionContainerForm::doublePropertiesOfItem(Profile2DItem* item) +{ + if (!item) + return {}; + return item->profileProperties(); +} + +DoubleProperties SelectionContainerForm::doublePropertiesOfItem(Profile1DItem* item) +{ + if (!item) + return {}; + return item->profileProperties(); +} + +DoubleProperties SelectionContainerForm::doublePropertiesOfItem(FormFactorItem* item) +{ + if (!item) + return {}; + return item->geometryProperties(); +} + +DoubleProperties SelectionContainerForm::doublePropertiesOfItem(RoughnessItem* item) +{ + if (!item) + return {}; + return item->roughnessProperties(); +} diff --git a/GUI/View/SampleDesigner/SelectionContainerForm.h b/GUI/View/SampleDesigner/SelectionContainerForm.h index 95c06ea4e5b4958b60dd0c051a0766288c6516a3..704c6db3906ff9ed5e9a892f07c699239a8bba75 100644 --- a/GUI/View/SampleDesigner/SelectionContainerForm.h +++ b/GUI/View/SampleDesigner/SelectionContainerForm.h @@ -94,13 +94,19 @@ public: SelectionContainerForm(QWidget* parent, SelectionProperty<T>& d, SampleEditorController* ec) : ISelectionContainerForm(parent, ec) { - currentValues = [&d] { return LayerEditorUtil::doublePropertiesOfItem(d.currentItem()); }; + currentValues = [&d] { return doublePropertiesOfItem(d.currentItem()); }; initUI(d); } virtual void createContent(); private: + static DoubleProperties doublePropertiesOfItem(RoughnessItem* item); + static DoubleProperties doublePropertiesOfItem(FormFactorItem* item); + static DoubleProperties doublePropertiesOfItem(Profile1DItem* item); + static DoubleProperties doublePropertiesOfItem(Profile2DItem* item); + static DoubleProperties doublePropertiesOfItem(RotationItem* item); + std::function<DoubleProperties()> currentValues = nullptr; };