86 lines
1.7 KiB
C++
Executable File
86 lines
1.7 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Dialog for Editing UASs
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Hannes Fritsche, ESZS, 2025-07-01
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <LtsWidgets/lts_dialog.h>
|
|
#include <ParticipantManagement/ppm.hpp>
|
|
#include <ParticipantManagement/ppm_ftc.h>
|
|
//EXM
|
|
#include <ExerciseManagement/exm_data_plugin_interface.h>
|
|
//FLM
|
|
#include <Plugins/FileManagement/flm_explorer_gui_plugin_interface.h>
|
|
#include <FileManagement/flm_dtc.h>
|
|
|
|
namespace Ui
|
|
{
|
|
class UasEditDialog;
|
|
}
|
|
|
|
namespace LtsSession
|
|
{
|
|
class LtsSession;
|
|
}
|
|
|
|
namespace LtsUtils
|
|
{
|
|
class RequestHelper;
|
|
}
|
|
|
|
namespace ParticipantManagement
|
|
{
|
|
namespace Interface
|
|
{
|
|
class Ftc;
|
|
class Dtc;
|
|
}
|
|
|
|
|
|
class UasEditDialog
|
|
: public LtsWidgets::LtsDialog
|
|
, protected Interface::Ftc::CreateModifyUasReplyHandler
|
|
{
|
|
Q_OBJECT
|
|
using BaseClass = LtsWidgets::LtsDialog;
|
|
|
|
public:
|
|
UasEditDialog(QWidget *parent = nullptr);
|
|
~UasEditDialog();
|
|
|
|
void init(LtsSession::LtsSession *session, const UAS &data = UAS());
|
|
|
|
QString dialogIdentifier() const;
|
|
|
|
private:
|
|
void retranslate() override;
|
|
bool apply() override;
|
|
void onCreateModifyUasReply(const Core::FunctionReplyObject &reply) override;
|
|
void fillParticipantCbx();
|
|
void fillData();
|
|
bool sendData();
|
|
|
|
private Q_SLOTS:
|
|
void onUnlinkClicked();
|
|
void onUAVParticipantChanged();
|
|
|
|
private:
|
|
Ui::UasEditDialog *m_ui;
|
|
LtsSession::LtsSession *m_session {nullptr};
|
|
std::shared_ptr<Interface::Ftc> m_ppmFtc;
|
|
std::shared_ptr<Interface::Dtc> m_ppmDtc;
|
|
std::shared_ptr<ExerciseManagement::Interface::Dtc> m_exmDtc;
|
|
std::shared_ptr<FileManagement::ForeignGuiInterface> m_flmGui;
|
|
std::shared_ptr<FileManagement::Interface::Dtc> m_flmDtc;
|
|
UAS m_data;
|
|
LtsUtils::RequestHelper *m_requestHelper;
|
|
|
|
};
|
|
|
|
} //ParticipantManagement
|