Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+154
@@ -0,0 +1,154 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* GUI Plugin for AreaEffectSimulation - Contamination
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
* Created by Patric Karwat, SLSE, 2016-07-07
|
||||
*/
|
||||
|
||||
#include "aes_bccontamination_gui_plugin.h"
|
||||
#include "aes_bccontamination_edit.h"
|
||||
#include "aes_bccontamination_list.h"
|
||||
|
||||
#include "InfoView/aes_bccontamination_info.h"
|
||||
|
||||
#include <AreaEffectSimulation/aes_operator_rights.h>
|
||||
#include <LtsSession/lts_session.h>
|
||||
#include <LtsUtilsSettings/settings.h>
|
||||
|
||||
namespace AreaEffectSimulation
|
||||
{
|
||||
|
||||
std::shared_ptr<GuiPluginBase::Interface> GuiPlugin::createGuiInterface(LtsSession::LtsSession *session)
|
||||
{
|
||||
return std::make_shared<InterfaceImpl>(session);
|
||||
}
|
||||
|
||||
InterfaceImpl::InterfaceImpl(LtsSession::LtsSession *session)
|
||||
: AesBaseInterface(session, getLogger("Plugins.Gui.BcContamination"))
|
||||
, ForeignGuiInterface()
|
||||
, m_enableB(false)
|
||||
, m_enableC(false)
|
||||
, m_enableN(false)
|
||||
{
|
||||
LtsUtils::ProjectSettings *ps = LtsUtils::ProjectSettings::getInstance();
|
||||
m_enableB = ps->value(QStringLiteral("aes"),
|
||||
QStringLiteral("enableBiologicalContamination")).toBool();
|
||||
m_enableC = ps->value(QStringLiteral("aes"),
|
||||
QStringLiteral("enableChemicalContamination")).toBool();
|
||||
m_enableN = ps->value(QStringLiteral("aes"),
|
||||
QStringLiteral("enableNuclearContaminations")).toBool();
|
||||
|
||||
}
|
||||
|
||||
QString InterfaceImpl::menuGroup() const
|
||||
{
|
||||
if (!m_enableB && !m_enableC && m_enableN)
|
||||
return tr("Area Effect Simulation N");
|
||||
else if (m_enableB && !m_enableC && m_enableN)
|
||||
return tr("Area Effect Simulation NB");
|
||||
else if (!m_enableB && m_enableC && m_enableN)
|
||||
return tr("Area Effect Simulation NC");
|
||||
else if (m_enableB && !m_enableC && !m_enableN)
|
||||
return tr("Area Effect Simulation B");
|
||||
else if (m_enableB && m_enableC && !m_enableN)
|
||||
return tr("Area Effect Simulation BC");
|
||||
else if (!m_enableB && m_enableC && !m_enableN)
|
||||
return tr("Area Effect Simulation C");
|
||||
else
|
||||
return tr("Area Effect Simulation NBC");
|
||||
}
|
||||
|
||||
QVector<LtsWidgets::PluginData> InterfaceImpl::getActions()
|
||||
{
|
||||
QVector<LtsWidgets::PluginData> ret;
|
||||
|
||||
|
||||
|
||||
|
||||
if (m_enableC)
|
||||
{
|
||||
ret.append(LtsWidgets::PluginData(menuGroup(),
|
||||
tr("C-Contaminations"),
|
||||
QLatin1String("ListCContaminations"),
|
||||
QIcon(QLatin1String("icon:chemical_agents.svg")),
|
||||
[this](QWidget *parent) { return onShowBCContaminationListDialog(true, parent);},
|
||||
OperatorRights::CContaminationsShow,
|
||||
LtsWidgets::ExercisePart::eExecution));
|
||||
|
||||
|
||||
if (m_session->isExercisePartition() && appId() != LtsAppDescriptor::App::OC)
|
||||
ret.append(LtsWidgets::PluginData(menuGroup(),
|
||||
tr("Add C-Contamination"),
|
||||
QLatin1String("AddCContamination"),
|
||||
QIcon(QLatin1String("icon:chemical_agents_add.svg")),
|
||||
[this](QWidget *parent) { return onShowAddBCContaminationDialog(true, parent);},
|
||||
OperatorRights::CContaminationsEdit,
|
||||
LtsWidgets::ExercisePart::eExecution,
|
||||
LtsWidgets::ExerciseState::eCreated | LtsWidgets::ExerciseState::eStarted | LtsWidgets::ExerciseState::ePaused));
|
||||
}
|
||||
|
||||
if (m_enableB)
|
||||
{
|
||||
ret.append(LtsWidgets::PluginData(menuGroup(),
|
||||
tr("B-Contaminations"),
|
||||
QLatin1String("ListBContaminations"),
|
||||
QIcon(QLatin1String("icon:bio_agent.svg")),
|
||||
[this](QWidget *parent) { return onShowBCContaminationListDialog(false, parent);},
|
||||
OperatorRights::BContaminationsShow,
|
||||
LtsWidgets::ExercisePart::eExecution));
|
||||
|
||||
|
||||
if (m_session->isExercisePartition() && appId() != LtsAppDescriptor::App::OC)
|
||||
ret.append(LtsWidgets::PluginData(menuGroup(),
|
||||
tr("Add B-Contamination"),
|
||||
QLatin1String("AddBContamination"),
|
||||
QIcon(QLatin1String("icon:bio_agent_add.svg")),
|
||||
[this](QWidget *parent) { return onShowAddBCContaminationDialog(false, parent);},
|
||||
OperatorRights::BContaminationsEdit,
|
||||
LtsWidgets::ExercisePart::eExecution,
|
||||
LtsWidgets::ExerciseState::eCreated | LtsWidgets::ExerciseState::eStarted | LtsWidgets::ExerciseState::ePaused));
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool InterfaceImpl::fetchInterfaces()
|
||||
{
|
||||
std::shared_ptr<ProjectDataManagement::ForeignGuiInterface> pdmGuiIfc;
|
||||
if (!m_session->getForeignGuiInterface<ProjectDataManagement::ForeignGuiInterface>(pdmGuiIfc))
|
||||
return false;
|
||||
|
||||
return AesBaseInterface::fetchInterfaces();
|
||||
}
|
||||
|
||||
LtsWidgets::LtsDialog *InterfaceImpl::showInfoWindow(const AesItem *item)
|
||||
{
|
||||
const BCContamination *bcc = static_cast<const BCContamination*>(item);
|
||||
|
||||
BCContaminationInfo *dialog = new BCContaminationInfo();
|
||||
dialog->init(m_session);
|
||||
dialog->setData(bcc);
|
||||
return dialog;
|
||||
}
|
||||
|
||||
|
||||
AreaEffectSimulation::BaseEdit *InterfaceImpl::showEditWindow(int aesEntityId, bool isChemical, QWidget *parent)
|
||||
{
|
||||
return LtsWidgets::initDialog(new BCContaminationEdit(menuGroup(), isChemical, parent),
|
||||
aesEntityId, false, m_session);
|
||||
}
|
||||
|
||||
LtsWidgets::LtsDialog *InterfaceImpl::onShowAddBCContaminationDialog(bool isChemical, QWidget *parent)
|
||||
{
|
||||
return showEditWindow(0, isChemical, parent);
|
||||
}
|
||||
|
||||
LtsWidgets::LtsDialog *InterfaceImpl::onShowBCContaminationListDialog(bool isChemical, QWidget *parent)
|
||||
{
|
||||
return LtsWidgets::initDialog(new BCContaminationList(menuGroup(), isChemical, parent),
|
||||
m_session);
|
||||
}
|
||||
|
||||
} // namespace AreaEffectSimulation
|
||||
Reference in new issue
Block a user