/** * @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 #include #include #include #include #include #include #include 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 &ppmDtc, const std::shared_ptr &almDtc, const std::shared_ptr &almFtc, const std::shared_ptr &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 m_almDtc; std::shared_ptr m_almFtc; std::shared_ptr m_ppmDtc; ParticipantAlarmModel *m_participantModel; ParticipantManagement::ParticipantTreeFilterProxyModel *m_participantProxyModel; LtsUtils::RequestHelper *m_requestHelper; std::vector m_participantVector; std::vector m_equipmentVector; QString m_menuGroup; static int s_preselectedParty; Ui::ParticipantsDialog *m_ui; NGL::INGLLogger &m_logger; }; } // namespace OnlineReports