96 lines
2.2 KiB
C++
Executable File
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;
|
|
};
|
|
|
|
}
|