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

62 lines
1.9 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Gui Plugin for AreaEffectSimulation - Contamination
* $Id$
* $HeadURL$
* $Author$
* Created by Patric Karwat, SLSE, 2016-07-07
*/
#pragma once
#include "aes_base_exports.h"
#include <PluginInterfaces/gui_plugin_interface.h>
#include <Plugins/AreaEffectSimulation/aes_data_plugin_interface.h>
#include <Plugins/ProjectDataManagement/pdm_data_plugin_interface.h>
#include <Plugins/ProjectDataManagement/pdm_gui_plugin_interface.h>
#include <Plugins/SituationMapPlugin/situation_map_gui_plugin_interface.h>
#include <Plugins/ParticipantManagement/ppm_gui_combobox_plugin_interface.h>
namespace AreaEffectSimulation
{
class AESBASEGUI_EXPORT AesBaseGuiPlugin : public QObject, public GuiPluginBase::Plugin
{
Q_INTERFACES(GuiPluginBase::Plugin)
Q_OBJECT
public:
AesBaseGuiPlugin() = default;
~AesBaseGuiPlugin() = default;
};
class AESBASEGUI_EXPORT AesBaseInterface : public QObject, public GuiPluginBase::Interface
{
Q_OBJECT
public:
QString menuGroup() const override { return tr("Area Effect Simulation"); }
bool fetchInterfaces() override;
void clearInterfaces() override;
bool availableInPartition(IDL::PartitionType partition) const override
{
return partition == IDL::PartitionType::Exercise ||
partition == IDL::PartitionType::Replay;
}
protected:
explicit AesBaseInterface(LtsSession::LtsSession *session, NGL::INGLLogger &logger);
private:
std::shared_ptr<AreaEffectSimulation::Interface::Dtc> m_dtc;
std::shared_ptr<AreaEffectSimulation::Interface::Ftc> m_ftc;
std::shared_ptr<ProjectDataManagement::Interface::Dtc> m_pdmDtc;
std::shared_ptr<ProjectDataManagement::ForeignGuiInterface> m_pdmGuiIfc;
std::shared_ptr<SituationMap::ForeignGuiInterface> m_sitmapGuIfc;
std::shared_ptr<ParticipantManagement::ForeignGuiComboboxInterface> m_ppmGuiCbxIfc;
};
} // namespace AreaEffectSimulation