Files
qt5-legatus-legacy/Lts/Plugins/Buildings/Gui/BuildingInfo/bridge_info_dialog.h
T
2026-08-13 18:33:10 +02:00

90 lines
2.2 KiB
C++
Executable File

/**
*@RDE_HEADER@
* GUI Plugin for Building- Info
* $Id$
* $HeadURL$
* $Author$
* Created by hjl, SLSE, 2017-04-05
*/
#pragma once
//Buildings
#include "info_dialog_base.h"
// DDS
#include <AssetManagement/asm.hpp>
#include <InfrastructureManagement/ism.hpp>
#include <LtsUtilsCore/data_modification_enum.h>
#include <Plugins/Buildings/bld_data_plugin_interface.h>
#include <InfrastructureManagement/ism_combobox_gui_plugin_interface.h>
//#include <InfrastructureManagement/ism_resource_management_gui_plugin_interface.h>
#include <InfrastructureManagement/ism_data_plugin_interface.h>
#include <PluginInterfaces/gui_plugin_interface.h>
class QUrl;
class QVBoxLayout;
namespace InfrastructureManagement
{
class ForeignGuiComboboxInterface;
class ForeignDataInterface;
}
namespace Ui
{
class BridgeInfoDialog;
}
namespace AssetManagement
{
namespace Interface
{
class Dtc;
}
}
namespace LtsSession
{
class LtsSession;
}
namespace Buildings
{
// --------------------------------------------------------
// BridgeInfoDialog
// --------------------------------------------------------
class BridgeInfoDialog : public InfoDialogBase
{
Q_OBJECT
public:
explicit BridgeInfoDialog(int assetId, const QString &menuGroup, QWidget *parent = nullptr);
~BridgeInfoDialog();
bool init(LtsSession::LtsSession *session) override;
QString buildingDisplayName() const override;
private:
void retranslate() override;
void showBuildingInfos() override;
//void startRequest(const QUrl &requestedUrl);
void showBridgeInfos();
void initUI();
private slots:
void onMainStructureElementChanged(const InfrastructureManagement::MainStructureElement &data, DataModification modType);
void bridgeStatusChanged();
void onOpenHistory();
private:
Ui::BridgeInfoDialog *m_ui {nullptr};
std::shared_ptr<Buildings::Interface::Ftc> m_ftc;
std::shared_ptr<Buildings::Interface::Dtc> m_bldDtc;
InfrastructureManagement::MainStructureElement m_mse;
std::shared_ptr<InfrastructureManagement::ForeignGuiComboboxInterface> m_ismCbxIfc {nullptr};
std::shared_ptr<InfrastructureManagement::Interface::Ftc> m_ismFtc {nullptr};
QMap<InfrastructureManagement::BridgeStatus, QPixmap> m_icon_pixmaps;
};
} // namespace Buildings