]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/view.hpp
TraceView: Add shortcuts for attaching the cursor edges to the mouse
[pulseview.git] / pv / views / trace / view.hpp
index b0cf02603d53a22a38f758fe54af8b37e7b5093a..040bac1b828590514fe22937041f050a3b426aef 100644 (file)
@@ -104,6 +104,8 @@ public:
 
        ~View();
 
+       virtual ViewType get_type() const;
+
        /**
         * Resets the view to its default state after construction. It does however
         * not reset the signal bases or any other connections with the session.
@@ -118,6 +120,8 @@ public:
         */
        unordered_set< shared_ptr<Signal> > signals() const;
 
+       shared_ptr<Signal> get_signal_by_signalbase(shared_ptr<data::SignalBase> base) const;
+
        virtual void clear_signals();
 
        void add_signal(const shared_ptr<Signal> signal);
@@ -143,9 +147,10 @@ public:
        virtual const View* view() const;
 
        Viewport* viewport();
-
        const Viewport* viewport() const;
 
+       QAbstractScrollArea* scrollarea() const;
+
        const Ruler* ruler() const;
 
        virtual void save_settings(QSettings &settings) const;
@@ -423,7 +428,6 @@ public:
        void extents_changed(bool horz, bool vert);
 
 private Q_SLOTS:
-
        void on_signal_name_changed();
        void on_splitter_moved();
 
@@ -435,6 +439,8 @@ private Q_SLOTS:
        void h_scroll_value_changed(int value);
        void v_scroll_value_changed();
 
+       void on_grab_ruler(int ruler_id);
+
        void signals_changed();
        void capture_state_updated(int state);
 
@@ -499,6 +505,8 @@ private:
        QShortcut *zoom_in_shortcut_, *zoom_in_shortcut_2_;
        QShortcut *zoom_out_shortcut_, *zoom_out_shortcut_2_;
        QShortcut *home_shortcut_, *end_shortcut_;
+       QShortcut *grab_ruler_left_shortcut_, *grab_ruler_right_shortcut_;
+       QShortcut *cancel_grab_shortcut_;
 
        unordered_set< shared_ptr<Signal> > signals_;
 
@@ -544,6 +552,7 @@ private:
        vector< shared_ptr<TriggerMarker> > trigger_markers_;
 
        QWidget* hover_widget_;
+       TimeMarker* grabbed_widget_;
        QPoint hover_point_;
        shared_ptr<Signal> signal_under_mouse_cursor_;
        uint16_t snap_distance_;