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

112 lines
2.1 KiB
C++
Executable File

/**
*@RDE_HEADER@
* GUI Plugin for Building HitLine - Info
* $Id$
* $HeadURL$
* $Author$
* Created by hjl, NLE, 2018-09-13
*/
#pragma once
//Lts
#include <LtsWidgets/lts_dialog.h>
// BuildingManagement
#include <Buildings/logger.h>
#include <Buildings/bld.hpp>
#include <ParticipantManagement/ppm.hpp>
namespace Ui
{
class HitLineInfoDialog;
}
namespace LtsSession
{
class LtsSession;
}
namespace ProjectDataManagement
{
namespace Interface
{
class Dtc;
}
}
namespace ParticipantManagement
{
namespace Interface
{
class Dtc;
}
}
namespace InfrastructureManagement
{
namespace Interface
{
class Dtc;
}
}
namespace AreaEffectSimulation
{
namespace Interface
{
class Dtc;
}
}
namespace SituationMap
{
class ForeignGuiInterface;
}
namespace Buildings
{
namespace Interface {
class Dtc;
}
// --------------------------------------------------------
// HitLineInfoDialog
// --------------------------------------------------------
class HitLineInfoDialog : public LtsWidgets::LtsDialog
{
Q_OBJECT
public:
explicit HitLineInfoDialog(int hitLineId, QWidget *parent = nullptr);
~HitLineInfoDialog();
bool init(LtsSession::LtsSession *session);
private:
void retranslate() override;
void showHitLineInfos();
QString getContaminations(const std::vector<ContaminationState> &contaminationStates) const;
private Q_SLOTS:
void onFindBuildingOnMap();
void onFindOriginatorOnMap();
private:
int m_hitLineId = 0;
BuildingHitLineInfo m_hitLineInfo;
ParticipantManagement::Participant m_participantOriginator;
bool m_isInitialized = false;
std::shared_ptr<Buildings::Interface::Dtc> m_bldDtc;
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_ppmDtc;
std::shared_ptr<ProjectDataManagement::Interface::Dtc> m_pdmDtc;
std::shared_ptr<InfrastructureManagement::Interface::Dtc> m_ismDtc;
std::shared_ptr<AreaEffectSimulation::Interface::Dtc> m_aesDtc;
std::shared_ptr<SituationMap::ForeignGuiInterface> m_sitMapGuiIfc;
Ui::HitLineInfoDialog *m_ui = nullptr;
LOGGER_T m_logger;
};
} // namespace Buildings