71 lines
2.2 KiB
C++
Executable File
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
|