84 lines
2.6 KiB
C++
Executable File
84 lines
2.6 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Dialog to create a new online report
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Hannes Baeuerle, SLSE, 2017-02-27
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "alm_participant_model.h"
|
|
|
|
#include <LtsWidgets/lts_dialog.h>
|
|
#include <memory>
|
|
#include <Services/ParticipantManagement/ppm_dtc.h>
|
|
#include <Services/AlarmManagement/alm_dtc.h>
|
|
#include <Services/AlarmManagement/alm_ftc.h>
|
|
#include <Services/AlarmManagement/alm.hpp>
|
|
#include <LtsUtilsGuiDds/request_helper.h>
|
|
#include <LtsSession/lts_session.h>
|
|
|
|
namespace Ui
|
|
{
|
|
class ParticipantsDialog;
|
|
}
|
|
|
|
namespace ParticipantManagement
|
|
{
|
|
class ParticipantTreeFilterProxyModel;
|
|
class ForeignGuiComboboxInterface;
|
|
}
|
|
|
|
namespace ParticipantAlarms
|
|
{
|
|
class TypeModel;
|
|
|
|
class ParticipantsDialog : public LtsWidgets::LtsDialog
|
|
, protected AlarmManagement::Interface::Ftc::ConfigureAlarmsReplyHandler
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit ParticipantsDialog(const QString &menuGroup, QWidget *parent = nullptr);
|
|
~ParticipantsDialog();
|
|
|
|
bool init(LtsSession::LtsSession *session,
|
|
const std::shared_ptr<ParticipantManagement::Interface::Dtc> &ppmDtc,
|
|
const std::shared_ptr<AlarmManagement::Interface::Dtc> &almDtc,
|
|
const std::shared_ptr<AlarmManagement::Interface::Ftc> &almFtc,
|
|
const std::shared_ptr<ParticipantManagement::ForeignGuiComboboxInterface> &ppmGuiCbxIfc);
|
|
|
|
protected:
|
|
void onConfigureAlarmsReply(const Core::FunctionReplyObject &replyObject) override final;
|
|
|
|
private slots:
|
|
void onAddButtonClicked();
|
|
void onPrint();
|
|
void onCbPartyChanged();
|
|
void onDoubleClicked();
|
|
void onSelectionChanged();
|
|
|
|
private: // methods
|
|
void retranslate() override;
|
|
void setChildrenSelected(const QModelIndex &parent);
|
|
void tableColumnOrganiserSetting() override;
|
|
|
|
private: // attributes
|
|
LtsSession::LtsSession *m_session;
|
|
std::shared_ptr<AlarmManagement::Interface::Dtc> m_almDtc;
|
|
std::shared_ptr<AlarmManagement::Interface::Ftc> m_almFtc;
|
|
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_ppmDtc;
|
|
ParticipantAlarmModel *m_participantModel;
|
|
ParticipantManagement::ParticipantTreeFilterProxyModel *m_participantProxyModel;
|
|
LtsUtils::RequestHelper *m_requestHelper;
|
|
std::vector<int> m_participantVector;
|
|
std::vector<int> m_equipmentVector;
|
|
QString m_menuGroup;
|
|
static int s_preselectedParty;
|
|
Ui::ParticipantsDialog *m_ui;
|
|
NGL::INGLLogger &m_logger;
|
|
};
|
|
} // namespace OnlineReports
|