X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fview.hpp;h=8fd7e968552f6af0528e3697e16f8eca2a5fb11e;hp=bfa7ed3eaa5b4ed16e909aa75cb22587760aee76;hb=4e86ec7042631d4b54876cba89c01a73abaf7213;hpb=1573bf16ba50d1c023ad3a9ce596f0ab6eaeacff diff --git a/pv/views/trace/view.hpp b/pv/views/trace/view.hpp index bfa7ed3e..8fd7e968 100644 --- a/pv/views/trace/view.hpp +++ b/pv/views/trace/view.hpp @@ -116,9 +116,9 @@ public: #ifdef ENABLE_DECODE virtual void clear_decode_signals(); - virtual void add_decode_signal(shared_ptr signalbase); + virtual void add_decode_signal(shared_ptr signal); - virtual void remove_decode_signal(shared_ptr signalbase); + virtual void remove_decode_signal(shared_ptr signal); #endif /** @@ -269,7 +269,7 @@ public: void restack_all_trace_tree_items(); Q_SIGNALS: - void hover_point_changed(); + void hover_point_changed(const QPoint &hp); void selection_changed(); @@ -323,9 +323,9 @@ private: void set_scroll_default(); - bool header_was_shrunk() const; + void determine_if_header_was_shrunk(); - void expand_header_to_fit(); + void resize_header_to_fit(); void update_layout(); @@ -347,6 +347,8 @@ private: void resizeEvent(QResizeEvent *event); + void update_hover_point(); + public: void row_item_appearance_changed(bool label, bool content); void time_item_appearance_changed(bool label, bool content); @@ -355,6 +357,7 @@ public: private Q_SLOTS: + void on_signal_name_changed(); void on_splitter_moved(); void h_scroll_value_changed(int value); @@ -363,12 +366,13 @@ private Q_SLOTS: void signals_changed(); void capture_state_updated(int state); + void on_new_segment(int new_segment_id); + void on_segment_changed(int segment); + virtual void perform_delayed_view_update(); void process_sticky_events(); - void on_hover_point_changed(); - /** * Sets the 'offset_' member and emits the 'offset_changed' * signal if needed. @@ -418,6 +422,9 @@ private: vector< shared_ptr > decode_traces_; #endif + /// The ID of the currently displayed segment + int current_segment_; + /// The view time scale in seconds per pixel. double scale_; @@ -426,6 +433,7 @@ private: bool updating_scroll_; bool settings_restored_; + bool header_was_shrunk_; bool sticky_scrolling_; bool coloured_bg_; @@ -454,6 +462,16 @@ private: // A nonzero value indicates the v offset to restore. See View::resizeEvent() int saved_v_offset_; + + // These are used to determine whether the view was altered after acq started + double scale_at_acq_start_; + pv::util::Timestamp offset_at_acq_start_; + + // Used to suppress performing a "zoom to fit" when the session stops. This + // is needed when the view's settings are restored before acquisition ends. + // In that case we want to keep the restored settings, not have a "zoom to fit" + // mess them up. + bool suppress_zoom_to_fit_after_acq_; }; } // namespace trace