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

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