#pragma once #include "lts_widgets_export.h" #include #include #include #include #include class LTSWIDGETS_EXPORT LtsHeightPlotWidget final : public QWidget { Q_OBJECT public: explicit LtsHeightPlotWidget(QWidget* parent = nullptr); virtual ~LtsHeightPlotWidget(); void clearView(); void setData(const QVector>& data); void setMarks(const QVector& data); void setBackgroundBrush(const QBrush& brush); void setTextFont(const QFont& f); void setAxisPen(const QPen& pen); void setPositionPen(const QPen& pen); void setViewLinePen(const QPen& pen); void setContourBrush(const QBrush& brush); void setMarkerPen(const QPen& pen); Q_SIGNALS: void mousePositionChanged(const QPointF& curPoint, double curHeight, double mouseHeight); void startLineOfSight(const QPointF& startPoint); void stopLineOfSight(); protected: void resizeEvent(QResizeEvent* e) override; void paintEvent(QPaintEvent* e) override; void mouseMoveEvent(QMouseEvent* e) override; void mouseReleaseEvent(QMouseEvent* e) override; class Private; Private* const d; };