]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/standardbar.hpp
Rework new segment notification mechanism
[pulseview.git] / pv / views / trace / standardbar.hpp
index c00c218d82f3eb2a484cb029129c8da9bf6ff8c0..8640b4c9520ae01b0f41a2721a8cd4da8261a13a 100644 (file)
@@ -24,6 +24,7 @@
 #include <cstdint>
 
 #include <QAction>
+#include <QSpinBox>
 #include <QToolBar>
 #include <QWidget>
 
@@ -36,7 +37,7 @@ class Session;
 
 namespace views {
 
-namespace TraceView {
+namespace trace {
 class View;
 }
 
@@ -48,7 +49,7 @@ class StandardBar : public QToolBar
 
 public:
        StandardBar(Session &session, QWidget *parent,
-               TraceView::View *view, bool add_default_widgets=true);
+               trace::View *view, bool add_default_widgets = true);
 
        Session &session() const;
 
@@ -61,8 +62,10 @@ public:
 protected:
        virtual void add_toolbar_widgets();
 
+       virtual void show_multi_segment_ui(const bool state);
+
        Session &session_;
-       TraceView::View *view_;
+       trace::View *view_;
 
        QAction *const action_view_zoom_in_;
        QAction *const action_view_zoom_out_;
@@ -70,6 +73,8 @@ protected:
        QAction *const action_view_zoom_one_to_one_;
        QAction *const action_view_show_cursors_;
 
+       QSpinBox *segment_selector_;
+
 protected Q_SLOTS:
        void on_actionViewZoomIn_triggered();
 
@@ -82,6 +87,11 @@ protected Q_SLOTS:
        void on_actionViewShowCursors_triggered();
 
        void on_always_zoom_to_fit_changed(bool state);
+
+       void on_new_segment(int new_segment_id);
+
+private:
+       vector<QAction*> multi_segment_actions_;
 };
 
 } // namespace trace