/** * @RDE_HEADER@ * ServiceMonitor Dialog * $Id$ * $HeadURL$ * $Author$ * Created by Astrid Mueller, SGAS, 2017-05-04 */ #pragma once #include "smo_bite_model.h" #include "smo_manipulation_model.h" #include "smo_ctas_error_model.h" #include #include #include #include #include namespace Ui { class ServiceMonitorDialog; } namespace LtsSession { class LtsSession; } namespace ServiceMonitor { class EgcuModel; class ServiceMonitorDialog : public LtsWidgets::LtsDialog { Q_OBJECT using BaseClass = LtsWidgets::LtsDialog; public: enum Monitor { Bite, Manipulation, CtasError, // Fehlermeldung GFD Egcu, Unset, }; explicit ServiceMonitorDialog(Monitor monitor, LtsSession::LtsSession *session, QWidget *parent = nullptr); ~ServiceMonitorDialog(); bool init(); // Not yet implemented: void setSelectedStructureElements(const QVector &structureElementIds, bool replace); protected Q_SLOTS: // TableView void onTableViewClicked(const QModelIndex &index); void onEditItem(); void onTableViewSelectionChanged(const QItemSelection &selected); void onParticipantClicked(int participantId); void leaveEvent(QEvent *e) override; private slots: void onAllOff(); void onAllAuto(); void onShowContextMenu(const QPoint &position); private: void setAllOverrides(InfrastructureManagement::EffectOverride eo); void retranslate() override; void onPrint(); int participantId(const QModelIndex &index) const; void tableColumnOrganiserSetting() override; LtsSession::LtsSession *m_session = nullptr; Ui::ServiceMonitorDialog *m_ui = nullptr; Monitor m_monitor = Monitor::Unset; QSortFilterProxyModel *m_proxyModel; std::shared_ptr m_ppmDtc; std::shared_ptr m_pdmDtc; std::shared_ptr m_ismDtc; NGL::INGLLogger &m_logger; }; }