/** * @RDE_HEADER@ * AreaEffectSimulation - Charge Effect Edit Dialog * $Id$ * $HeadURL$ * $Author$ * Created by Astrid Müller, ESZE, 2025-08-19 */ #pragma once #include #include #include #include #include #include #include #include namespace ParticipantManagement { class ParticipantEditModel; } namespace Ui { class ChargeEffectEdit; } namespace AreaEffectSimulation { class ChargeEffectEdit final : public BaseEdit , protected AreaEffectSimulation::Interface::Ftc::ChargeEffectModifyReplyHandler { Q_OBJECT public: explicit ChargeEffectEdit(const QString &menuGroup, QWidget *parent = nullptr); ~ChargeEffectEdit(); QString dialogIdentifier() const override { return m_aesItem.id() <= 0 ? QStringLiteral("AddChargeEffect") : QStringLiteral("EditChargeEffect%1").arg(m_aesItem.id()); } bool init(int areaId, bool copy, LtsSession::LtsSession *session); void onChargeEffectModifyReply(const Core::FunctionReplyObject &replyObject) override final { onAesItemModifyReply(replyObject); } public slots: void onGetCoordinate(const QPointF &coordinate); void onEscapePressed(const QString &value); private slots: bool apply() override; void showPreviewObject() override; private: void retranslate() override; void enableUiElements(bool enable) override; void fillCharges(); void cancelPositionTrigger(); void onChangeParty(); void onSelectionChanged(); void onPositionButtonToggled(bool isChecked); void getPosition(); std::shared_ptr m_asb; std::shared_ptr m_pdmDtc; std::shared_ptr m_ppmDtc; ParticipantManagement::ParticipantEditModel *m_participantModel; Ui::ChargeEffectEdit *m_ui; std::shared_ptr m_sitMapGuiIfc; }; } //namespace AreaEffectSimulation