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

82 lines
1.5 KiB
C++
Executable File

/**
*@RDE_HEADER@
* $Id$
* $HeadURL$
* $Author$
* Created by Philipp Last, SLSE, 2018-03-06
*/
#pragma once
//Lts
#include <LtsWidgets/lts_dialog.h>
//Buildings
#include <Buildings/logger.h>
#include <memory>
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<Buildings::Interface::Dtc> m_dtc;
std::shared_ptr<InfrastructureManagement::Interface::Dtc> m_ismDtc;
std::shared_ptr<BuildingViewer::ForeignGuiInterface> m_bdvGuiIfc;
std::shared_ptr<ServiceMonitor::ForeignGuiInterface> m_smoGuiIfc;
LOGGER_T m_logger;
};
} // namespace Buildings