diff --git a/GUI/View/SampleDesigner/SampleEditorCommands.cpp b/GUI/View/SampleDesigner/SampleEditorCommands.cpp index e457a8d293f7cccba0c244d1ea246e32c548335f..db135020cd307d1a2bcf33964f9399167c535059 100644 --- a/GUI/View/SampleDesigner/SampleEditorCommands.cpp +++ b/GUI/View/SampleDesigner/SampleEditorCommands.cpp @@ -16,6 +16,7 @@ #include "GUI/Model/Item/LayerItem.h" #include "GUI/Model/Item/MultiLayerItem.h" +#include "GUI/Model/Model/MaterialModel.h" #include "GUI/Model/XML/Serializer.h" #include "GUI/View/SampleDesigner/MultiLayerForm.h" #include "GUI/View/SampleDesigner/SampleEditorController.h" @@ -73,7 +74,7 @@ void CommandRemoveLayer::undo() { LayerItem* restoredLayer = m_ec->multiLayerItem()->addLayer(m_indexOfLayer); deserialize(restoredLayer, m_layerItemBackup); - restoredLayer->setMaterialModel(m_ec->materialModel()); + m_ec->materialModel()->setFinderForItem(*restoredLayer); m_ec->multiLayerForm()->onLayerAdded(restoredLayer); emit m_ec->modified(); } diff --git a/GUI/View/SampleDesigner/SampleEditorController.cpp b/GUI/View/SampleDesigner/SampleEditorController.cpp index b10490892346c93719e59b98f2f6da87326083d2..52e34c90f0f38fad6d7d0672f67a191589177a5e 100644 --- a/GUI/View/SampleDesigner/SampleEditorController.cpp +++ b/GUI/View/SampleDesigner/SampleEditorController.cpp @@ -101,7 +101,7 @@ void SampleEditorController::addLayer(LayerItem* before) // - create new layer LayerItem* layer = m_multiLayerItem->addLayer(rowInMultiLayer); - layer->setMaterialModel(materialModel()); + materialModel()->setFinderForItem(*layer); layer->setMaterial(materialModel()->defaultMaterial()); layer->setColor(color); @@ -214,7 +214,7 @@ ItemWithParticles* SampleEditorController::createAndInitParticle(FormFactorItemCatalog::Type formFactorType) const { auto* newParticle = new ParticleItem(); - newParticle->setMaterialModel(materialModel()); + materialModel()->setFinderForItem(*newParticle); newParticle->setFormFactor(FormFactorItemCatalog::create(formFactorType)); newParticle->setMaterial(materialModel()->defaultMaterial()); return newParticle; @@ -226,7 +226,7 @@ SampleEditorController::createAndInitParticle(ItemWithParticlesCatalog::Type ite auto* newItem = ItemWithParticlesCatalog::create(itemType); if (auto* p = dynamic_cast<ItemWithMaterial*>(newItem)) { - p->setMaterialModel(materialModel()); + materialModel()->setFinderForItem(*p); p->setMaterial(materialModel()->defaultMaterial()); } @@ -239,7 +239,7 @@ SampleEditorController::createAndInitParticle(ItemWithParticlesCatalog::Type ite if (auto* meso = dynamic_cast<MesoCrystalItem*>(newItem); meso && meso->basisParticle()) if (auto* p = dynamic_cast<ItemWithMaterial*>(meso->basisParticle())) { - p->setMaterialModel(materialModel()); + materialModel()->setFinderForItem(*p); p->setMaterial(materialModel()->defaultMaterial()); }