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

77 lines
2.4 KiB
C++
Executable File

/**
* @RDE_HEADER@
* HMI Plugin for ParticipantManagement - Template Overview Dialog
* $Id$
* $HeadURL$
* $Author$
* Created by Patric Karwat, SLSE, 2016-10-05
*/
#pragma once
#include "participant_template_chooser_model.h"
#include <Services/ParticipantManagement/ppm_dtc.h>
#include <Services/ParticipantManagement/ppm_ftc.h>
#include <Plugins/ParticipantManagement/ppm_gui_combobox_plugin_interface.h>
#include <Plugins/ParticipantManagement/ppm_org_chart_gui_plugin.h>
#include <LtsWidgets/lts_dialog.h>
#include <LtsSession/lts_session.h>
#include <LtsUtilsGuiDds/request_helper.h>
namespace AdvancedSymbology
{
class ForeignDataInterface;
}
namespace Ui
{
class ParticipantTemplateChooser;
}
namespace ParticipantManagement
{
class ParticipantTemplateChooser : public LtsWidgets::LtsDialog
, protected ParticipantManagement::Interface::Ftc::ModifyTemplateDataReplyHandler
{
Q_OBJECT
public:
explicit ParticipantTemplateChooser(const QString &menuGroup, bool asSupportService, LtsSession::LtsSession *session, QWidget *parent = nullptr);
~ParticipantTemplateChooser();
bool init(const std::shared_ptr<ParticipantManagement::Interface::Dtc> &dtc,
const std::shared_ptr<ParticipantManagement::Interface::Ftc> &ftc,
const std::shared_ptr<ParticipantManagement::ForeignGuiComboboxInterface> &ppmGuiCbxIfc,
const std::shared_ptr<ForeignGuiOrgChartInterface> &ppmGuiOrgChartIfc);
private slots:
void onAddTemplate();
void onEditTemplate();
void onEditTemplateOrgChart();
void onRemoveTemplate();
void onPrint();
private:
void retranslate() override;
void onModifyTemplateDataReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); }
void tableColumnOrganiserSetting() override;
QString m_menuGroup;
bool m_asSupportService;
ParticipantTemplateChooserModel *m_model;
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_dtc;
std::shared_ptr<ParticipantManagement::Interface::Ftc> m_ftc;
std::shared_ptr<ParticipantManagement::ForeignGuiComboboxInterface> m_ppmGuiCbxIfc;
std::shared_ptr<ParticipantManagement::ForeignGuiOrgChartInterface> m_ppmGuiOrgChartIfc;
std::shared_ptr<AdvancedSymbology::ForeignDataInterface> m_asbIfc;
LtsSession::LtsSession *m_session;
LtsUtils::RequestHelper *m_requestHelper;
Ui::ParticipantTemplateChooser *m_ui;
LOGGER_T m_logger;
};
} // namespace ParticipantManagement