/** * @RDE_HEADER@ * $Id: ppm_msdl_edit.h 52239 2020-10-05 11:33:12Z thoden $ * $HeadURL: svn://192.168.133.21/TDS/branches/product/features/3dws_devel/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_edit.h $ * $Author: thoden $ * Created by Hannes Fritsche, ESZS, 2024-08-05 */ #pragma once #include #include namespace FileManagement { namespace Interface { class Dtc; class Ftc; } } namespace InfrastructureManagement { class FootprintElement; namespace Interface { class Dtc; } } namespace LtsSession { class LtsSession; } namespace ParticipantManagement { namespace Interface { class Dtc; } } namespace ProjectDataManagement { class ForeignGuiInterface; namespace Interface { class Dtc; } } namespace SituationMap { class ForeignGuiInterface; } namespace Ui { class CreateSimulationDialog; } namespace CollateralDamageSimulation { class PdfCreator; class PlanCreator; class SimulationDialog; class CreateSimulationDialog : public LtsWidgets::LtsDialog { Q_OBJECT public: explicit CreateSimulationDialog(QWidget *parent = nullptr); ~CreateSimulationDialog(); bool init(LtsSession::LtsSession *session); void retranslate() override final; private slots: void onChargeTypeChanged(int index); void onIgniterTypeChanged(int index); void onPositionClicked(); void onCoordinate(const QPointF &coordinate); private: // methods bool apply() override; bool has2DMap(); void drawDetonationArea(); void fillCharges(); double getCurrentImpactRadius() const; double getLethalRadius() const; double getNonLethalRadius() const; int getFolderId() const; bool isNameValid(const QString &name) const; private: // attributes Ui::CreateSimulationDialog *m_ui; LtsSession::LtsSession *m_session { nullptr }; SimulationDialog *m_simulationDialog { nullptr }; PlanCreator *m_planCreator { nullptr }; PdfCreator *m_pdfCreator { nullptr }; std::shared_ptr m_sitMapGuiIfc; std::shared_ptr m_pdmDtc; std::shared_ptr m_ppmDtc; std::shared_ptr m_ismDtc; std::shared_ptr m_flmDtc; std::shared_ptr m_pdmCbx; }; } // namespace CollateralDamageSimulation