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

62 lines
1.4 KiB
C++
Executable File

/**
* @RDE_HEADER@
* TerrainProfileDialog/ Höhendialog
* $Id: zwmsui_TerrainProfileDialog.h 4471 2010-06-15 06:56:51Z ehrlicher $
* $HeadURL: svn://slssvn/TDS/branches/product/devel/vor_cleanup_zw_zs/ZW/ZWMS/ZWMSUI/zwmsui_TerrainProfileDialog.h $
* $Author: ehrlicher $
*/
#pragma once
#include <LtsWidgets/lts_dialog.h>
#include <Common/situation_map_logging.h>
#include <situation_map_export.h>
namespace Ui
{
class TerrainProfile;
}
namespace QtCore
{
class QList;
class QPair;
class QPointF;
}
namespace SituationMap
{
class Map;
class SITUATIONMAP_EXPORT TerrainProfileDialog final : public LtsWidgets::LtsDialog
{
Q_OBJECT
public:
using heightData = QPair<QPointF, double>;
public:
explicit TerrainProfileDialog(QWidget *parent = nullptr, LtsWidgets::ButtonCombination buttonCombination = LtsWidgets::ButtonCombination::CloseOnly);
~TerrainProfileDialog();
void setMap(Map *map);
void setData(const QVector<heightData> &data);
void setMarks(const QVector<QPointF> &data);
void setMarkerPen(const QPen &pen);
void retranslate() override;
signals:
void mousePositionChanged(const QPointF &curPoint);
void startLineOfSight(const QPointF &startPoint);
void stopLineOfSight();
protected slots:
void onUpdatePosition(const QPointF &position, double curHeight, double mouseHeight);
private:
Ui::TerrainProfile *m_ui;
Map *m_map = nullptr;
LOGGER_T m_logger;
};
} // namespace SituationMap