]> sigrok.org Git - pulseview.git/blobdiff - pv/view/timemarker.h
Initialise Trace widgets when the trace is received by the View
[pulseview.git] / pv / view / timemarker.h
index 37e10a3f0e386e14feb688193bed686c99c60e6b..328d428f0e52ca547c48840d5a4071e247c78e14 100644 (file)
 #define PULSEVIEW_PV_VIEW_MARKER_H
 
 #include <QColor>
+#include <QDoubleSpinBox>
 #include <QObject>
 #include <QRectF>
+#include <QWidgetAction>
 
 #include "selectableitem.h"
 
@@ -46,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.
         */
@@ -87,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<QAction*> 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