Files
qt5-legatus-legacy/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_edit.h
T
2026-08-13 18:33:10 +02:00

80 lines
2.4 KiB
C++
Executable File

/**
* @RDE_HEADER@
* MeteoDataManagement - Static Meteo Data Edit Dialog
* $Id$
* $HeadURL$
* $Author$
* Created by hjl, SLSE, 2016-10-17
*/
#pragma once
#include "esm_effect_show_model.h"
#include <LtsWidgets/lts_dialog.h>
#include <LtsSession/lts_session.h>
#include <AreaEffectSimulation/aes_dtc.h>
#include <ProjectDataManagement/pdm_dtc.h>
#include <ParticipantManagement/ppm_dtc.h>
#include <PluginInterfaces/gui_plugin_interface.h> //der fehlte
#include <Plugins/EffectShowManagement/esm_gui_combobox_plugin_interface.h>
#include <Services/EffectShowManagement/esm_dtc.h>
#include <Services/EffectShowManagement/esm_ftc.h>
#include <EffectShowManagement/logger.h>
#include <LtsUtilsGuiDds/request_helper.h>
#include <QPair>
#include <QVector>
namespace Ui
{
class EffectShowEdit;
}
namespace EffectShowManagement
{
/**
* @brief Input mask for effect show changes.
*/
class EffectShowEdit : public LtsWidgets::LtsDialog,
protected EffectShowManagement::Interface::Ftc::EffectShowModifyReplyHandler
{
Q_OBJECT
public:
explicit EffectShowEdit(const EffectShow &effectShow, QWidget *parent = nullptr);
~EffectShowEdit();
bool init(LtsSession::LtsSession *session,
EffectShowModel *model);
bool apply() override;
private:
void retranslate() override;
void showEffectShow();
void onEffectShowModifyReply(const Core::FunctionReplyObject &replyObject) override { m_requestHelper->requestReply(replyObject); }
void updateActorComboBox(const Core::GeoPosition &coordGeo);
private slots:
void onEffectShowActorFilterChanged(const int &idx);
void onEffectShowVehicleStatusChanged(const EffectShowVehicleStatus &data, const DataModification &modType);
private:
LtsSession::LtsSession *m_session;
std::shared_ptr<EffectShowManagement::Interface::Ftc> m_ftc;
std::shared_ptr<AreaEffectSimulation::Interface::Dtc> m_aesDtc;
std::shared_ptr<ProjectDataManagement::Interface::Dtc> m_pdmDtc;
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_ppmDtc;
std::shared_ptr<EffectShowManagement::ForeignGuiComboboxInterface> m_esmActorCbx;
EffectShowModel *m_model;
LtsUtils::RequestHelper *m_requestHelper;
EffectShow m_effectShow;
bool m_isSmoke{false};
Ui::EffectShowEdit *m_ui;
NGL::INGLLogger &m_logger;
};
} //namespace EffectShowManagement