Skip to content
Snippets Groups Projects
Commit fe89be44 authored by Matthias Puchner's avatar Matthias Puchner
Browse files

free SampleValidator from SessionItem/-Model

parent c40785df
No related branches found
No related tags found
1 merge request!570remove SessionModel/Item from SampleModel and all related items
...@@ -20,15 +20,8 @@ ...@@ -20,15 +20,8 @@
#include "GUI/Model/Sample/ParticleCoreShellItem.h" #include "GUI/Model/Sample/ParticleCoreShellItem.h"
#include "GUI/Model/Sample/ParticleLayoutItem.h" #include "GUI/Model/Sample/ParticleLayoutItem.h"
void SampleValidator::iterateItems(const SessionItem* parentItem)
{
for (const SessionItem* child : parentItem->children()) {
validateItem(child);
iterateItems(child);
}
}
void SampleValidator::validateItem(const SessionItem* item) void SampleValidator::validateItem(const ItemWithParticles* item)
{ {
if (const auto* p = dynamic_cast<const ParticleCoreShellItem*>(item)) { if (const auto* p = dynamic_cast<const ParticleCoreShellItem*>(item)) {
if (!p->core()) if (!p->core())
...@@ -85,9 +78,8 @@ bool SampleValidator::isValidMultiLayer(const MultiLayerItem* multilayer) ...@@ -85,9 +78,8 @@ bool SampleValidator::isValidMultiLayer(const MultiLayerItem* multilayer)
for (const auto* layout : layer->layouts()) { for (const auto* layout : layer->layouts()) {
if (layout->particles().isEmpty()) if (layout->particles().isEmpty())
addMessage("Particle layout doesn't contain any particles."); addMessage("Particle layout doesn't contain any particles.");
for (const auto* particle : layout->particles()) { for (const auto* particle : layout->containedItemsWithParticles()) {
validateItem(particle); validateItem(particle);
iterateItems(particle);
} }
} }
} }
......
...@@ -15,14 +15,11 @@ ...@@ -15,14 +15,11 @@
#ifndef BORNAGAIN_GUI_MODEL_SAMPLE_SAMPLEVALIDATOR_H #ifndef BORNAGAIN_GUI_MODEL_SAMPLE_SAMPLEVALIDATOR_H
#define BORNAGAIN_GUI_MODEL_SAMPLE_SAMPLEVALIDATOR_H #define BORNAGAIN_GUI_MODEL_SAMPLE_SAMPLEVALIDATOR_H
#include <QModelIndex> #include <QString>
class SessionItem;
class MultiLayerItem; class MultiLayerItem;
class ParticleCompositionItem;
class ParticleCoreShellItem;
class ParticleLayoutItem;
class LayerItem; class LayerItem;
class ItemWithParticles;
//! Validates SampleModel for MultiLayerItem suitable for simulation //! Validates SampleModel for MultiLayerItem suitable for simulation
class SampleValidator { class SampleValidator {
...@@ -32,8 +29,7 @@ public: ...@@ -32,8 +29,7 @@ public:
QString getValidationMessage() const { return m_messages; } QString getValidationMessage() const { return m_messages; }
private: private:
void iterateItems(const SessionItem* parentItem); void validateItem(const ItemWithParticles* item);
void validateItem(const SessionItem* item);
void validateInterferences(const LayerItem* item); void validateInterferences(const LayerItem* item);
......
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