X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fruler.hpp;h=9d708ce027bc9bfaca3ed6610c81fb338ea5dae6;hp=8c1876cced37f5e2598f655a51e309eff0c4fbd7;hb=e887fe9e6ede73b9fe9ace9c6bfd4f6a096eb3b2;hpb=4bc9230c442427a27a3934ce5ff6ff4fdd4e0855 diff --git a/pv/views/trace/ruler.hpp b/pv/views/trace/ruler.hpp index 8c1876cc..9d708ce0 100644 --- a/pv/views/trace/ruler.hpp +++ b/pv/views/trace/ruler.hpp @@ -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 get_reference_item() const; protected: virtual void contextMenuEvent(QContextMenuEvent *event) override; void resizeEvent(QResizeEvent*) override; + virtual void item_hover(const shared_ptr &item, QPoint pos) override; private: /** @@ -171,11 +178,13 @@ private: function 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_resetZeroPosition(); void on_toggleHoverMarker(); private: @@ -185,6 +194,8 @@ private: */ boost::optional tick_position_cache_; + shared_ptr hover_item_; + uint32_t context_menu_x_pos_; };