X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Ftimeitem.hpp;h=acac3273955f49c862932fbfe4ad3654e6e0ac07;hp=dd8d3c4a67c16a982b740475418c9c3827bace12;hb=HEAD;hpb=1573bf16ba50d1c023ad3a9ce596f0ab6eaeacff diff --git a/pv/views/trace/timeitem.hpp b/pv/views/trace/timeitem.hpp index dd8d3c4a..acac3273 100644 --- a/pv/views/trace/timeitem.hpp +++ b/pv/views/trace/timeitem.hpp @@ -17,8 +17,8 @@ * along with this program; if not, see . */ -#ifndef PULSEVIEW_PV_VIEWS_TRACEVIEW_TIMEITEM_HPP -#define PULSEVIEW_PV_VIEWS_TRACEVIEW_TIMEITEM_HPP +#ifndef PULSEVIEW_PV_VIEWS_TRACE_TIMEITEM_HPP +#define PULSEVIEW_PV_VIEWS_TRACE_TIMEITEM_HPP #include "viewitem.hpp" @@ -28,8 +28,11 @@ namespace trace { class View; +/** + * The TimeItem class represents items on the @ref Ruler. It is generic in + * nature, not making assumptions about the kind of item shown. + */ class TimeItem : public ViewItem - { Q_OBJECT @@ -40,20 +43,32 @@ protected: */ TimeItem(View &view); + bool snapping_disabled_ = false; + public: /** * Sets the time of the marker. */ virtual void set_time(const pv::util::Timestamp& time) = 0; + /** + * Returns the time this time item is set to. + * @return 0 in case there is no valid time (e.g. for a cursor pair) + */ + virtual const pv::util::Timestamp time() const = 0; + virtual float get_x() const = 0; + virtual const pv::util::Timestamp delta(const pv::util::Timestamp& other) const; + /** * Drags the item to a delta relative to the drag point. * @param delta the offset from the drag point. */ void drag_by(const QPoint &delta); + bool is_snapping_disabled() const; + protected: View &view_; }; @@ -62,4 +77,4 @@ protected: } // namespace views } // namespace pv -#endif // PULSEVIEW_PV_VIEWS_TRACEVIEW_TIMEITEM_HPP +#endif // PULSEVIEW_PV_VIEWS_TRACE_TIMEITEM_HPP