X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fview.hpp;h=8c41fd9e40692e504c9db06c39a26f4aa5a92f6d;hp=28c94e5285d1dfc6cc21c06daa618138f3723bc8;hb=e06cf18db72c518d11f90e9f96dfc3aeed85314f;hpb=ffc00fdd5946593ad2a587078fd4ee9ba0a507ec diff --git a/pv/views/trace/view.hpp b/pv/views/trace/view.hpp index 28c94e52..8c41fd9e 100644 --- a/pv/views/trace/view.hpp +++ b/pv/views/trace/view.hpp @@ -31,8 +31,9 @@ #include #include -#include +#include #include +#include #include #include "cursorpair.hpp" @@ -81,7 +82,7 @@ public: bool viewportEvent(QEvent *event); }; -class View : public ViewBase, public TraceTreeItemOwner +class View : public ViewBase, public TraceTreeItemOwner, public GlobalSettingsInterface { Q_OBJECT @@ -102,6 +103,8 @@ private: public: explicit View(Session &session, bool is_main_view=false, QWidget *parent = nullptr); + ~View(); + Session& session(); const Session& session() const; @@ -162,6 +165,10 @@ public: */ const pv::util::Timestamp& ruler_offset() const; + void set_zero_position(pv::util::Timestamp& position); + + void reset_zero_position(); + /** * Returns the vertical scroll offset. */ @@ -187,6 +194,11 @@ public: */ const pv::util::Timestamp& tick_period() const; + /** + * Returns number of minor division ticks per time marking. + */ + unsigned int minor_tick_count() const; + /** * Returns the unit of time currently used. */ @@ -230,15 +242,15 @@ public: pair get_time_extents() const; /** - * Enables or disables coloured trace backgrounds. If they're not - * coloured then they will use alternating colors. + * Enables or disables colored trace backgrounds. If they're not + * colored then they will use alternating colors. */ - void enable_coloured_bg(bool state); + void enable_colored_bg(bool state); /** - * Returns true if the trace background should be drawn with a coloured background. + * Returns true if the trace background should be drawn with a colored background. */ - bool coloured_bg() const; + bool colored_bg() const; /** * Enable or disable showing sampling points. @@ -289,6 +301,8 @@ public: void restack_all_trace_tree_items(); + void on_setting_changed(const QString &key, const QVariant &value); + Q_SIGNALS: void hover_point_changed(const QPoint &hp); @@ -324,7 +338,7 @@ Q_SIGNALS: void segment_display_mode_changed(int mode, bool segment_selectable); public Q_SLOTS: - void trigger_event(util::Timestamp location); + void trigger_event(int segment_id, util::Timestamp location); private: void get_scroll_layout(double &length, pv::util::Timestamp &offset) const; @@ -398,6 +412,8 @@ private Q_SLOTS: void on_segment_completed(int new_segment_id); void on_segment_changed(int segment); + void on_settingViewTriggerIsZeroTime_changed(const QVariant new_value); + virtual void perform_delayed_view_update(); void process_sticky_events(); @@ -406,7 +422,7 @@ private Q_SLOTS: * Sets the 'offset_' and ruler_offset_ members and emits the 'offset_changed' * signal if needed. */ - void set_offset(const pv::util::Timestamp& offset); + void set_offset(const pv::util::Timestamp& offset, bool force_update = false); /** * Sets the 'scale_' member and emits the 'scale_changed' @@ -474,11 +490,12 @@ private: bool header_was_shrunk_; bool sticky_scrolling_; - bool coloured_bg_; + bool colored_bg_; bool always_zoom_to_fit_; pv::util::Timestamp tick_period_; pv::util::SIPrefix tick_prefix_; + unsigned int minor_tick_count_; unsigned int tick_precision_; util::TimeUnit time_unit_;