]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/ruler.hpp
Show relative time of flags on hover
[pulseview.git] / pv / views / trace / ruler.hpp
index 8c1876cced37f5e2598f655a51e309eff0c4fbd7..3a3ada528c7c32d1435e48e5ae19b1416bb94ad3 100644 (file)
@@ -117,11 +117,18 @@ public:
                unsigned precision = 0,
                bool sign = true);
 
-       pv::util::Timestamp get_time_from_x_pos(uint32_t x);
+       pv::util::Timestamp get_absolute_time_from_x_pos(uint32_t x) const;
+       pv::util::Timestamp get_ruler_time_from_x_pos(uint32_t x) const;
+
+       pv::util::Timestamp get_ruler_time_from_absolute_time(const pv::util::Timestamp& abs_time) const;
+       pv::util::Timestamp get_absolute_time_from_ruler_time(const pv::util::Timestamp& ruler_time) const;
+
+       shared_ptr<TimeItem> get_reference_item();
 
 protected:
        virtual void contextMenuEvent(QContextMenuEvent *event) override;
        void resizeEvent(QResizeEvent*) override;
+       virtual void item_hover(const shared_ptr<ViewItem> &item, QPoint pos) override;
 
 private:
        /**
@@ -171,11 +178,12 @@ private:
                function<QString(const pv::util::Timestamp&)> format_function);
 
 private Q_SLOTS:
-       void hover_point_changed(const QPoint &hp);
+       void on_hover_point_changed(const QWidget* widget, const QPoint &hp);
 
        void invalidate_tick_position_cache();
 
        void on_createMarker();
+       void on_setZeroPosition();
        void on_toggleHoverMarker();
 
 private:
@@ -185,6 +193,8 @@ private:
         */
        boost::optional<TickPositions> tick_position_cache_;
 
+       shared_ptr<TimeItem> hover_item_;
+
        uint32_t context_menu_x_pos_;
 };