Files
qt5-legatus-legacy/Lts/Plugins/AreaEffectSimulation/Gui/BCContamination/aes_bccontaminations_model.h
T
2026-08-13 18:33:10 +02:00

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