X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Ftimemarker.h;h=63733f7a5c9a4a9040f4660db5b0ebf152c490c0;hp=08ed93890b6e4f8647e1855b08162f133387955f;hb=1e256e16a17271fab3c9c57de3558b3b1c8184f4;hpb=ca4ec3eab886e62c0f9d0cc91636383a74ad5d7b diff --git a/pv/view/timemarker.h b/pv/view/timemarker.h index 08ed9389..63733f7a 100644 --- a/pv/view/timemarker.h +++ b/pv/view/timemarker.h @@ -22,8 +22,12 @@ #define PULSEVIEW_PV_VIEW_MARKER_H #include +#include #include #include +#include + +#include "selectableitem.h" class QPainter; class QRect; @@ -33,7 +37,7 @@ namespace view { class View; -class TimeMarker : public QObject +class TimeMarker : public SelectableItem { Q_OBJECT @@ -44,12 +48,7 @@ protected: * @param colour A reference to the colour of this cursor. * @param time The time to set the flag to. */ - TimeMarker(const View &view, const QColor &colour, double time); - - /** - * Copy constructor - */ - TimeMarker(const TimeMarker &s); + TimeMarker(View &view, const QColor &colour, double time); public: /** @@ -80,20 +79,37 @@ public: * Paints the marker's label to the ruler. * @param p The painter to draw with. * @param rect The rectangle of the ruler client area. + * @param prefix The SI prefix to paint time value with. + */ + virtual void paint_label(QPainter &p, const QRect &rect, + unsigned int prefix) = 0; + + /** + * Returns a list of context menu items to show in the context + * bar. */ - virtual void paint_label(QPainter &p, const QRect &rect) = 0; + const std::list get_context_bar_actions(); + +private slots: + void on_value_changed(double value); signals: void time_changed(); protected: - const View &_view; + View &_view; const QColor &_colour; double _time; + + QSizeF _text_size; + + QWidgetAction _value_action; + QDoubleSpinBox _value_widget; + bool _updating_value_widget; }; } // namespace view } // namespace pv -#endif // PULSEVIEW_PV_VIEW_MARKER_H \ No newline at end of file +#endif // PULSEVIEW_PV_VIEW_MARKER_H