]> sigrok.org Git - pulseview.git/blobdiff - pv/views/viewbase.hpp
Trace View: Move ruler time conversion from View to Ruler
[pulseview.git] / pv / views / viewbase.hpp
index e6a003a596c7ddda4b03226af3b759f21e4aa75f..f44dbf98edb1c3b5a3a0023dd58f67740b911d46 100644 (file)
@@ -65,6 +65,12 @@ private:
 public:
        explicit ViewBase(Session &session, bool is_main_view = false, QWidget *parent = nullptr);
 
+       /**
+        * Resets the view to its default state after construction. It does however
+        * not reset the signal bases or any other connections with the session.
+        */
+       virtual void reset_view_state();
+
        Session& session();
        const Session& session() const;
 
@@ -92,12 +98,17 @@ public:
        virtual void restore_settings(QSettings &settings);
 
 public Q_SLOTS:
-       virtual void trigger_event(util::Timestamp location);
+       virtual void trigger_event(int segment_id, util::Timestamp location);
        virtual void signals_changed();
        virtual void capture_state_updated(int state);
+       virtual void on_new_segment(int new_segment_id);
+       virtual void on_segment_completed(int new_segment_id);
        virtual void perform_delayed_view_update();
 
 private Q_SLOTS:
+       void on_samples_added(uint64_t segment_id, uint64_t start_sample,
+               uint64_t end_sample);
+
        void on_data_updated();
 
 protected:
@@ -109,6 +120,9 @@ protected:
 
        unordered_set< shared_ptr<data::SignalBase> > signalbases_;
 
+       /// The ID of the currently displayed segment
+       uint32_t current_segment_;
+
        QTimer delayed_view_updater_;
 };