Files
qt5-legatus-legacy/Lts/Viewer/SituationMap/Utils/terrain_profile_dialog.cpp
T
2026-08-13 18:33:10 +02:00

76 lines
2.3 KiB
C++
Executable File

/**
* @RDE_HEADER@
* TerrainProfileDialog/ Höhendialog
* $Id: zwmsui_TerrainProfileDialog.cpp 21168 2014-10-27 07:35:54Z ehrlicher $
* $HeadURL: svn://slssvn/TDS/branches/product/devel/vor_cleanup_zw_zs/ZW/ZWMS/ZWMSUI/zwmsui_TerrainProfileDialog.cpp $
* $Author: ehrlicher $
*/
#include "terrain_profile_dialog.h"
#include "ui_terrain_profile_dialog.h"
//#include <LtsCoordTrans/lts_coord_trans.h>
#include <Map/map.h>
namespace SituationMap
{
TerrainProfileDialog::TerrainProfileDialog(QWidget *parent, LtsWidgets::ButtonCombination buttonCombination)
: LtsWidgets::LtsDialog(parent, buttonCombination)
, m_ui(new Ui::TerrainProfile)
, m_logger(getLogger("TerrainProfileDialog"))
{
m_ui->setupUi(this);
connect(m_ui->heightPlotWidget, &LtsHeightPlotWidget::mousePositionChanged, this, &TerrainProfileDialog::onUpdatePosition);
// SIGNAL-SIGNAL um die Informationen nach aussen zu tragen
connect(m_ui->heightPlotWidget, &LtsHeightPlotWidget::mousePositionChanged, this, &TerrainProfileDialog::mousePositionChanged);
connect(m_ui->heightPlotWidget, &LtsHeightPlotWidget::startLineOfSight, this, &TerrainProfileDialog::startLineOfSight);
connect(m_ui->heightPlotWidget, &LtsHeightPlotWidget::stopLineOfSight, this, &TerrainProfileDialog::stopLineOfSight);
setOnlineHelpFilename(QStringLiteral("Situation-Start_Terrain_Profil"));
}
TerrainProfileDialog::~TerrainProfileDialog()
{
delete m_ui;
}
void TerrainProfileDialog::setMap(Map *map)
{
m_map = map;
}
void TerrainProfileDialog::retranslate()
{
translate(m_ui, QString(), false, tr("Terrain Profile"));
}
void TerrainProfileDialog::setData(const QVector<heightData> &data)
{
m_ui->heightPlotWidget->setData(data);
}
void TerrainProfileDialog::setMarks(const QVector<QPointF> &data)
{
m_ui->heightPlotWidget->setMarks(data);
}
void TerrainProfileDialog::setMarkerPen(const QPen &pen)
{
m_ui->heightPlotWidget->setMarkerPen(pen);
}
void TerrainProfileDialog::onUpdatePosition(const QPointF &position, double curHeight, double mouseHeight)
{
QString str; // = LtsCoordTrans::UtmCoordinate::fromGeographic(position).mgrs();
if (m_map)
str = m_map->mapToMgrsString(position);
m_ui->lblPosition->setText(str);
m_ui->lblHeight->setText(QString::number(curHeight, 'f', 2));
m_ui->lblHeightCursor->setText(QString::number(mouseHeight, 'f', 2));
}
} // namespace SituationMap