X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fview.hpp;h=7fe2bf720181a04b3523efbed7f6e93b78c116a2;hp=e056805b4d798da23a2f2407ac3d5818e4e0c553;hb=74bf66669012692f7eda790abe724bd5bb4ae8c6;hpb=9f094349d415a37ec30fa2aa2bb6c979c03d6bc1 diff --git a/pv/views/trace/view.hpp b/pv/views/trace/view.hpp index e056805b..7fe2bf72 100644 --- a/pv/views/trace/view.hpp +++ b/pv/views/trace/view.hpp @@ -28,6 +28,7 @@ #include #include +#include #include #include @@ -99,24 +100,28 @@ private: static const int ScaleUnits[3]; public: - explicit View(Session &session, bool is_main_view=false, QWidget *parent = nullptr); + explicit View(Session &session, bool is_main_view=false, QMainWindow *parent = nullptr); ~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. */ virtual void reset_view_state(); - Session& session(); - const Session& session() const; + Session& session(); // This method is needed for TraceTreeItemOwner, not ViewBase + const Session& session() const; // This method is needed for TraceTreeItemOwner, not ViewBase /** * Returns the signals contained in this view. */ unordered_set< shared_ptr > signals() const; + shared_ptr get_signal_by_signalbase(shared_ptr base) const; + virtual void clear_signals(); void add_signal(const shared_ptr signal); @@ -142,7 +147,6 @@ public: virtual const View* view() const; Viewport* viewport(); - const Viewport* viewport() const; const Ruler* ruler() const; @@ -189,6 +193,16 @@ public: */ void set_v_offset(int offset); + /** + * Sets the visual h-offset. + */ + void set_h_offset(int offset); + + /** + * Gets the length of the horizontal scrollbar. + */ + int get_h_scrollbar_maximum() const; + /** * Returns the SI prefix to apply to the graticule time markings. */ @@ -249,27 +263,11 @@ public: pair get_time_extents() const; - /** - * Enables or disables colored trace backgrounds. If they're not - * colored then they will use alternating colors. - */ - void enable_colored_bg(bool state); - /** * Returns true if the trace background should be drawn with a colored background. */ bool colored_bg() const; - /** - * Enable or disable showing sampling points. - */ - void enable_show_sampling_points(bool state); - - /** - * Enable or disable showing the analog minor grid. - */ - void enable_show_analog_minor_grid(bool state); - /** * Returns true if cursors are displayed. false otherwise. */ @@ -428,10 +426,14 @@ public: void extents_changed(bool horz, bool vert); private Q_SLOTS: - void on_signal_name_changed(); void on_splitter_moved(); + void on_zoom_in_shortcut_triggered(); + void on_zoom_out_shortcut_triggered(); + void on_scroll_to_start_shortcut_triggered(); + void on_scroll_to_end_shortcut_triggered(); + void h_scroll_value_changed(int value); void v_scroll_value_changed(); @@ -496,6 +498,10 @@ private: Header *header_; QSplitter *splitter_; + QShortcut *zoom_in_shortcut_, *zoom_in_shortcut_2_; + QShortcut *zoom_out_shortcut_, *zoom_out_shortcut_2_; + QShortcut *home_shortcut_, *end_shortcut_; + unordered_set< shared_ptr > signals_; #ifdef ENABLE_DECODE