#pragma once #include #include #include #include #include "lts_widgets_export.h" 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; };