/** * @RDE_HEADER@ * HMI Plugin for AreaEffectSimulation - Contaminations Overview Dialog Model * $Id$ * $HeadURL$ * $Author$ * * Created by Malte Diers, SLSE, 2017-02-20 */ #pragma once #include #include #include namespace LtsSession { class LtsSession; } namespace AreaEffectSimulation { /************ Abstract Class for B AND C Contamination ***************/ class BCContaminationsModel : public AesGuiBaseModel { 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(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