Files
qt5-legatus-legacy/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_dialog.h
T
2026-08-13 18:33:10 +02:00

96 lines
2.2 KiB
C++
Executable File

/**
* @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 <InfrastructureManagement/ism_data_plugin_interface.h>
#include <ProjectDataManagement/pdm_data_plugin_interface.h>
#include <ParticipantManagement/ppm_data_plugin_interface.h>
#include <LtsWidgets/lts_dialog.h>
#include <Buildings/bld.hpp>
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<int> &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<ParticipantManagement::Interface::Dtc> m_ppmDtc;
std::shared_ptr<ProjectDataManagement::Interface::Dtc> m_pdmDtc;
std::shared_ptr<InfrastructureManagement::Interface::Dtc> m_ismDtc;
NGL::INGLLogger &m_logger;
};
}