* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef PULSEVIEW_PV_VIEWS_TRACEVIEW_RULER_HPP
-#define PULSEVIEW_PV_VIEWS_TRACEVIEW_RULER_HPP
+#ifndef PULSEVIEW_PV_VIEWS_TRACE_RULER_HPP
+#define PULSEVIEW_PV_VIEWS_TRACE_RULER_HPP
#include <functional>
#include <memory>
unsigned precision = 0,
bool sign = true);
- pv::util::Timestamp get_time_from_x_pos(uint32_t x) const;
+ 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() const;
protected:
virtual void contextMenuEvent(QContextMenuEvent *event) override;
void resizeEvent(QResizeEvent*) override;
+ virtual void item_hover(const shared_ptr<ViewItem> &item, QPoint pos) override;
private:
/**
void on_createMarker();
void on_setZeroPosition();
+ void on_resetZeroPosition();
void on_toggleHoverMarker();
private:
*/
boost::optional<TickPositions> tick_position_cache_;
+ shared_ptr<TimeItem> hover_item_;
+
uint32_t context_menu_x_pos_;
};
} // namespace views
} // namespace pv
-#endif // PULSEVIEW_PV_VIEWS_TRACEVIEW_RULER_HPP
+#endif // PULSEVIEW_PV_VIEWS_TRACE_RULER_HPP