Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Plugins/Buildings/Gui/BuildingInfo/egcu_operational.h
T

70 lines
1.5 KiB
C++
Executable File

#pragma once
#include "info_dialog_base.h"
#include <InfrastructureManagement/ism.hpp>
#include <LtsUtils/LtsUtilsCore/data_modification_enum.h>
#include <QNetworkAccessManager>
class QTimer;
class QUrl;
namespace Ui
{
class EgcuOperationalDialog;
}
namespace Buildings
{
class EgcuOperationalDialog : public InfoDialogBase
{
Q_OBJECT
public:
explicit EgcuOperationalDialog(int mountPointId, const QString &menuGroup, QWidget *parent = nullptr);
~EgcuOperationalDialog();
bool init(LtsSession::LtsSession *session) override;
QString egcuName() const { return m_egcuName; }
QString buildingDisplayName() const override { return egcuName(); }
private:
void retranslate() override;
void showBuildingInfos() override;
void startRequest(const QUrl &requestedUrl);
void showEgcuInfos();
private slots:
bool apply() override;
void onUpdateState();
void httpFinished();
void onInstrumentationAssetChanged(const InfrastructureManagement::InstrumentationAsset &data, DataModification modType);
void onMountPointAssetChanged(const InfrastructureManagement::MountingPointAsset &data, DataModification modType);
private:
Ui::EgcuOperationalDialog *m_ui = nullptr;
QHash <int, InfrastructureManagement::InstrumentationAsset> m_instrumentationAssets;
int m_assetId = 0;
int m_mountPointId = 0;
QNetworkAccessManager m_qnam;
bool m_httpRequestAborted = false;
QString m_host;
QString m_user;
QString m_passwd;
QString m_egcuName;
QTimer *m_stateTimer = nullptr;
};
}