/** * @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 #include #include #include #include #include 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 m_dtc; std::shared_ptr m_ftc; std::shared_ptr m_pdmDtc; std::shared_ptr m_pdmGuiIfc; std::shared_ptr m_sitmapGuIfc; std::shared_ptr m_ppmGuiCbxIfc; }; } // namespace AreaEffectSimulation