]> sigrok.org Git - pulseview.git/blobdiff - pv/view/timemarker.hpp
DecodeTrace: Don't dereference iterator pointing at end of container.
[pulseview.git] / pv / view / timemarker.hpp
index c72dedf56f79e0a1c223436e8841c8796337e125..f16fea03f4c0d8d9e93ca9ce77ac5dd2f5cfd7b2 100644 (file)
@@ -33,6 +33,10 @@ class QPainter;
 class QRect;
 
 namespace pv {
+namespace widgets {
+       class TimestampSpinBox;
+}
+
 namespace view {
 
 class View;
@@ -51,18 +55,18 @@ protected:
         * @param colour A reference to the colour of this cursor.
         * @param time The time to set the flag to.
         */
-       TimeMarker(View &view, const QColor &colour, double time);
+       TimeMarker(View &view, const QColor &colour, const pv::util::Timestamp& time);
 
 public:
        /**
         * Gets the time of the marker.
         */
-       double time() const;
+       const pv::util::Timestamp& time() const;
 
        /**
         * Sets the time of the marker.
         */
-       void set_time(double time);
+       void set_time(const pv::util::Timestamp& time) override;
 
        float get_x() const;
 
@@ -84,7 +88,7 @@ public:
         * @param rect the rectangle of the viewport area.
         * @return Returns the rectangle of the hit-box.
         */
-       QRectF hit_box_rect(const QRectF &rect) const;
+       QRectF hit_box_rect(const ViewItemPaintParams &pp) const;
 
        /**
         * Gets the text to show in the marker.
@@ -103,23 +107,23 @@ public:
         * Paints the foreground layer of the item with a QPainter
         * @param p the QPainter to paint into.
         * @param pp the painting parameters object to paint with.
-        **/
+        */
        void paint_fore(QPainter &p, const ViewItemPaintParams &pp);
 
        virtual pv::widgets::Popup* create_popup(QWidget *parent);
 
 private Q_SLOTS:
-       void on_value_changed(double value);
+       void on_value_changed(const pv::util::Timestamp& value);
 
 protected:
        const QColor &colour_;
 
-       double time_;
+       pv::util::Timestamp time_;
 
        QSizeF text_size_;
 
        QWidgetAction *value_action_;
-       QDoubleSpinBox *value_widget_;
+       pv::widgets::TimestampSpinBox *value_widget_;
        bool updating_value_widget_;
 };