X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=pv%2Fviews%2Ftrace%2Fview.hpp;h=8183fefc6c0b814a0cf96351e3a0d047fded990c;hb=9cee9c1b895be4010deb55623f5c6916320d4401;hp=040bac1b828590514fe22937041f050a3b426aef;hpb=95a4b2a131d6995d08f2eb6dded50f928d1ecb1e;p=pulseview.git diff --git a/pv/views/trace/view.hpp b/pv/views/trace/view.hpp index 040bac1b..8183fefc 100644 --- a/pv/views/trace/view.hpp +++ b/pv/views/trace/view.hpp @@ -24,7 +24,6 @@ #include #include #include -#include #include #include @@ -43,8 +42,7 @@ #include "tracetreeitemowner.hpp" using std::list; -using std::unordered_map; -using std::unordered_set; +using std::map; using std::set; using std::shared_ptr; using std::vector; @@ -96,6 +94,7 @@ private: static const pv::util::Timestamp MinScale; static const int MaxScrollValue; + static const int ViewScrollMargin; static const int ScaleUnits[3]; @@ -118,7 +117,7 @@ public: /** * Returns the signals contained in this view. */ - unordered_set< shared_ptr > signals() const; + vector< shared_ptr > signals() const; shared_ptr get_signal_by_signalbase(shared_ptr base) const; @@ -154,7 +153,6 @@ public: const Ruler* ruler() const; virtual void save_settings(QSettings &settings) const; - virtual void restore_settings(QSettings &settings); /** @@ -254,6 +252,8 @@ public: void zoom_fit(bool gui_state); + virtual void focus_on_range(uint64_t start_sample, uint64_t end_sample); + /** * Sets the scale and offset. * @param scale The new view scale in seconds per pixel. @@ -261,7 +261,7 @@ public: */ void set_scale_offset(double scale, const pv::util::Timestamp& offset); - set< shared_ptr > get_visible_data() const; + vector< shared_ptr > get_visible_data() const; pair get_time_extents() const; @@ -271,7 +271,7 @@ public: bool colored_bg() const; /** - * Returns true if cursors are displayed. false otherwise. + * Returns true if cursors are displayed, false otherwise. */ bool cursors_shown() const; @@ -281,14 +281,16 @@ public: void show_cursors(bool show = true); /** - * Sets the cursors to the given offsets. You will still have to call show_cursors separately. + * Sets the cursors to the given offsets. + * You still have to call show_cursors() separately. */ void set_cursors(pv::util::Timestamp& first, pv::util::Timestamp& second); /** * Moves the cursors to a convenient position in the view. + * You still have to call show_cursors() separately. */ - void centre_cursors(); + void center_cursors(); /** * Returns a reference to the pair of cursors. @@ -401,14 +403,12 @@ private: TraceTreeItemOwner* find_prevalent_trace_group( const shared_ptr &group, - const unordered_map, - shared_ptr > &signal_map); + const map, shared_ptr > &signal_map); static vector< shared_ptr > extract_new_traces_for_channels( const vector< shared_ptr > &channels, - const unordered_map, - shared_ptr > &signal_map, + const map, shared_ptr > &signal_map, set< shared_ptr > &add_list); void determine_time_unit(); @@ -508,7 +508,7 @@ private: QShortcut *grab_ruler_left_shortcut_, *grab_ruler_right_shortcut_; QShortcut *cancel_grab_shortcut_; - unordered_set< shared_ptr > signals_; + vector< shared_ptr > signals_; #ifdef ENABLE_DECODE vector< shared_ptr > decode_traces_; @@ -528,6 +528,8 @@ private: pv::util::Timestamp ruler_offset_; /// The offset of the zero point in seconds. pv::util::Timestamp zero_offset_; + /// Shows whether the user set a custom zero offset that we should keep + bool custom_zero_offset_set_; bool updating_scroll_; bool settings_restored_;