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

71 lines
2.2 KiB
C++
Executable File

/**
* @RDE_HEADER@
* NotificationManagement - Notification Overview Dialog
*
* Created by Mike Lennart Wille, ESZS, 2025-06-17
*/
#pragma once
#include <LtsSession/lts_session.h>
#include <LtsWidgets/lts_dialog.h>
#include <NotificationManagement/logger.h>
#include <NotificationManagement/nom_dtc.h>
#include <NotificationManagement/nom_ftc.h>
#include <LtsUtilsGuiDds/request_helper.h>
#include <Plugins/AssetManagement/asm_data_plugin_interface.h>
#include <Plugins/NotificationManagement/nom_data_plugin_interface.h>
#include <Plugins/OperatorManagement/opm_data_plugin_interface.h>
namespace Ui
{
class NotificationManagementDialog;
}
namespace NotificationManagement
{
class NotificationManagementDialogModel;
class NotificationManagementDialog
: public LtsWidgets::LtsDialog
, protected NotificationManagement::Interface::Ftc::ReadReceiptReplyHandler
, protected NotificationManagement::Interface::Ftc::DeleteMessageReplyHandler
{
Q_OBJECT
public:
explicit NotificationManagementDialog(LtsSession::LtsSession *session, const QString &menuGroup, QWidget *parent = nullptr);
~NotificationManagementDialog();
private slots:
void enaDisa();
void onAcknowledgeNotification();
void onRemoveNotification();
void onShowNotificationContent();
protected:
void onReadReceiptReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); }
void onDeleteMessageReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); }
private:
void retranslate() override;
void tableColumnOrganiserSetting() override;
std::vector<int32_t> selectedNotificationIds(bool onlyNotYetAcknowledged);
NotificationManagementDialogModel *m_model;
Ui::NotificationManagementDialog *m_ui;
LtsSession::LtsSession *m_session;
std::shared_ptr<NotificationManagement::Interface::Dtc> m_dtc;
std::shared_ptr<NotificationManagement::Interface::Ftc> m_ftc;
std::shared_ptr<OperatorManagement::Interface::Dtc> m_dtcOpm;
std::shared_ptr<AssetManagement::Interface::Dtc> m_dtcAsm;
QString m_menuGroup;
LtsUtils::RequestHelper *m_requestHelper;
LOGGER_T m_logger;
};
} // namespace NotificationManagement