80 lines
2.4 KiB
C++
Executable File
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
|