74 lines
1.7 KiB
C++
Executable File
74 lines
1.7 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* HMI Plugin for AreaEffectSimulation - Contaminations Overview Dialog Model
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*
|
|
* Created by Malte Diers, SLSE, 2017-02-20
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <QSet>
|
|
#include <Plugins/AreaEffectSimulation/Gui/Base/aes_base_model.h>
|
|
#include <ProjectDataManagement/pdm_enums.hpp>
|
|
|
|
namespace LtsSession
|
|
{
|
|
class LtsSession;
|
|
}
|
|
|
|
namespace AreaEffectSimulation
|
|
{
|
|
|
|
|
|
/************ Abstract Class for B AND C Contamination ***************/
|
|
class BCContaminationsModel : public AesGuiBaseModel<BCContamination>
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
bool initModel(LtsSession::LtsSession *session);
|
|
|
|
ProjectDataManagement::GearClass gearClass() const { return m_gearClass; }
|
|
|
|
protected:
|
|
explicit BCContaminationsModel(ProjectDataManagement::GearClass gc, QObject *parent = nullptr)
|
|
: AesGuiBaseModel<BCContamination>(parent)
|
|
, m_gearClass(gc)
|
|
{}
|
|
|
|
ProjectDataManagement::GearClass m_gearClass;
|
|
};
|
|
|
|
|
|
|
|
/******************** Class for Biological Contamination ***************/
|
|
/************ Use "BCContaminationsModel *ptr" nevertheless! ***********/
|
|
|
|
class BContaminationsModel final : public BCContaminationsModel
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit BContaminationsModel(QObject *parent)
|
|
: BCContaminationsModel(ProjectDataManagement::GearClass::Biological, parent)
|
|
{}
|
|
};
|
|
|
|
|
|
/******************** Class for Chemical Contamination *****************/
|
|
/************ Use "BCContaminationsModel *ptr" nevertheless! ***********/
|
|
|
|
class CContaminationsModel final : public BCContaminationsModel
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit CContaminationsModel(QObject *parent)
|
|
: BCContaminationsModel(ProjectDataManagement::GearClass::Chemical, parent)
|
|
{}
|
|
};
|
|
} //namespace AreaEffectSimulation
|
|
|
|
|