/** *@RDE_HEADER@ * $Id$ * $HeadURL$ * $Author$ * Created by Philipp Last, SLSE, 2018-03-06 */ #pragma once //Lts #include //Buildings #include #include namespace Ui { class BldInfoDialog; } namespace InfrastructureManagement { namespace Interface { class Dtc; } } namespace LtsSession { class LtsSession; } namespace BuildingViewer { class ForeignGuiInterface; } namespace ServiceMonitor { class ForeignGuiInterface; } namespace Buildings { namespace Interface { class Dtc; } class InfoDialogBase : public LtsWidgets::LtsDialog { Q_OBJECT public: explicit InfoDialogBase(int bldEntityId, const QString &menuGroup, const QString &strLogger, LtsWidgets::ButtonCombination bc, QWidget *parent = nullptr); virtual bool init(LtsSession::LtsSession *session); protected slots: void onFindOnMap(); void onShowDetails(); void onShowBuildingViewer(); void onShowEgcuMonitor(); protected: virtual void showBuildingInfos() = 0; virtual QString buildingDisplayName() const = 0; protected: int m_mseId = -1; QString m_menuGroup; int m_exerciseId; LtsSession::LtsSession *m_session = nullptr; std::shared_ptr m_dtc; std::shared_ptr m_ismDtc; std::shared_ptr m_bdvGuiIfc; std::shared_ptr m_smoGuiIfc; LOGGER_T m_logger; }; } // namespace Buildings