/** The PdfCreator class creates a PDF file with the information given by a collateral damage simulation * @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-26 */ #pragma once #include #include namespace KDReports { class Report; } namespace FileManagement { namespace Interface { class Ftc; } } namespace InfrastructureManagement { namespace Interface { class Dtc; } } namespace ParticipantManagement { namespace Interface { class Dtc; } } namespace CollateralDamageSimulation { class PdfCreator : public QObject { Q_OBJECT public: explicit PdfCreator(QWidget *parent = nullptr); ~PdfCreator(); void init(const std::shared_ptr &ismDtc, const std::shared_ptr &ppmDtc, const std::shared_ptr &flmFtc); void addInformation(const QString &name, const QString &charge, const QString &igniterType, const QString &position); void addBuildings(const QVector &buildingIds); void addParticipantsWithProtection(const QVector &participantIds); void addParticipantsWithoutProtection(const QVector &participantIds); void save(const QString &name, int folderId, int exerciseId); void clear(); private: // methods void warnSafeDidNotWork(const QString &message) const; void addParticipantTable(const QVector &participantIds, const QString &tableName); private: // attributes std::shared_ptr m_flmFtc; std::shared_ptr m_ismDtc; std::shared_ptr m_ppmDtc; KDReports::Report *m_report { nullptr }; }; } // namespace CollateralDamageSimulation