64 lines
2.3 KiB
C++
Executable File
64 lines
2.3 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Gui Plugin for AreaEffectSimuation - Explosions
|
|
* $Id: aes_explosion_gui_plugin.h 62538 2024-04-23 06:13:45Z karwat $
|
|
* $HeadURL: svn://slssvn/TDS/branches/product/features/24_adler/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosion_gui_plugin.h $
|
|
* $Author: karwat $
|
|
* Created by Patric Karwat, SLSE, 2016-07-05
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <Plugins/AreaEffectSimulation/Gui/Base/aes_base_gui_plugin.h>
|
|
#include "aes_explosion_gui_plugin_interface.h"
|
|
|
|
namespace AreaEffectSimulation
|
|
{
|
|
|
|
class GuiPlugin final : public AesBaseGuiPlugin
|
|
{
|
|
Q_PLUGIN_METADATA(IID "gui:3:aes.explosions")
|
|
Q_OBJECT
|
|
|
|
public:
|
|
GuiPlugin() = default;
|
|
~GuiPlugin() = default;
|
|
|
|
QString pluginName() override { return QStringLiteral("AreaEffectSimuationExplosionGui"); }
|
|
std::shared_ptr<GuiPluginBase::Interface> createGuiInterface(LtsSession::LtsSession *session) override;
|
|
bool availableInPartition(IDL::PartitionType partition) const override
|
|
{
|
|
return partition == IDL::PartitionType::Exercise ||
|
|
partition == IDL::PartitionType::Replay;
|
|
}
|
|
};
|
|
|
|
class InterfaceImpl final : public AesBaseInterface, public AesExplosion::ForeignGuiInterface
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit InterfaceImpl(LtsSession::LtsSession *session);
|
|
|
|
QVector<LtsWidgets::PluginData> getActions() override;
|
|
|
|
AreaEffectSimulation::BaseEdit *showEditWindow(int aesEntityId, bool isSingle, bool isCentral, ProjectDataManagement::GearClass gc, QWidget *parent) override;
|
|
AreaEffectSimulation::BaseEdit *showEditWindow(int aesEntityId, ProjectDataManagement::EffectSource effectSource, QWidget *parent) override; // ExplosionCluster
|
|
|
|
private:
|
|
LtsWidgets::LtsDialog *onShowAddExplosionDialog(bool isSingle, bool isCentral, ProjectDataManagement::GearClass gc, QWidget *parent);
|
|
LtsWidgets::LtsDialog *onShowExplosionListDialog(bool isSingle, bool, ProjectDataManagement::GearClass gc, QWidget *parent);
|
|
|
|
LtsWidgets::LtsDialog *onShowAddExplosionClusterDialog(QWidget *parent);
|
|
|
|
LtsWidgets::LtsDialog *onShowExplosionClusterListDialog(QWidget *parent);
|
|
LtsWidgets::LtsDialog *onShowAddExplosionAdlerStandAloneDialog(QWidget *parent);
|
|
|
|
bool eventFilter(QObject *obj, QEvent *event) override; // show dialogs dialog on clicked link
|
|
|
|
static const QString s_ExplosionGuiScheme;
|
|
|
|
};
|
|
|
|
} // namespace AreaEffectSimulation
|