X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Ftimemarker.h;h=328d428f0e52ca547c48840d5a4071e247c78e14;hb=ef8311a4296a2dc85c82b063de61efa4eb7a8404;hp=3c9198899a7ec1b0ea7eeacf073eabfc873f636d;hpb=3a6fe0818affcb40b2821eab3f633e536377dd81;p=pulseview.git diff --git a/pv/view/timemarker.h b/pv/view/timemarker.h index 3c91988..328d428 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,14 +48,11 @@ 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: + virtual void init_context_bar_actions(QWidget *parent); + /** * Gets the time of the marker. */ @@ -85,16 +86,29 @@ public: 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. + */ + 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