X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fview.hpp;h=1d630158401e2592c4754bfd7a8e11c787f246fe;hp=d57acd914bdaa8872a95f930e7e8b9b374fc3d4d;hb=f9a0fd83226d97af7458d8c9dac0b88c83a54d29;hpb=7697cd83435e88689936b14c952b8a34d5258b69 diff --git a/pv/views/trace/view.hpp b/pv/views/trace/view.hpp index d57acd91..1d630158 100644 --- a/pv/views/trace/view.hpp +++ b/pv/views/trace/view.hpp @@ -23,8 +23,8 @@ #include #include #include +#include #include -#include #include #include @@ -43,7 +43,7 @@ #include "tracetreeitemowner.hpp" using std::list; -using std::unordered_map; +using std::map; using std::set; using std::shared_ptr; using std::vector; @@ -122,9 +122,9 @@ public: shared_ptr get_signal_by_signalbase(shared_ptr base) const; - virtual void clear_signals(); - - void add_signal(const shared_ptr signal); + virtual void clear_signalbases(); + virtual void add_signalbase(const shared_ptr signalbase); + virtual void remove_signalbase(const shared_ptr signalbase); #ifdef ENABLE_DECODE virtual void clear_decode_signals(); @@ -134,6 +134,8 @@ public: virtual void remove_decode_signal(shared_ptr signal); #endif + void remove_trace(shared_ptr trace); + shared_ptr get_signal_under_mouse_cursor() const; /** @@ -154,7 +156,6 @@ public: const Ruler* ruler() const; virtual void save_settings(QSettings &settings) const; - virtual void restore_settings(QSettings &settings); /** @@ -254,6 +255,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. @@ -403,14 +406,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(); @@ -510,6 +511,7 @@ private: QShortcut *grab_ruler_left_shortcut_, *grab_ruler_right_shortcut_; QShortcut *cancel_grab_shortcut_; + mutable mutex signal_mutex_; vector< shared_ptr > signals_; #ifdef ENABLE_DECODE