]> sigrok.org Git - pulseview.git/blobdiff - pv/toolbars/samplingbar.h
Show a 1-2-5 list for the sample count widget
[pulseview.git] / pv / toolbars / samplingbar.h
index 5821a01091a7eb59d6c7d1762a5ffef184b9c28d..6fc8abd38e0fcdce4bcd6a45f2a4a36233f0b424 100644 (file)
@@ -32,6 +32,7 @@
 
 #include <pv/sigsession.h>
 #include <pv/widgets/popuptoolbutton.h>
+#include <pv/widgets/sweeptimingwidget.h>
 
 struct st_dev_inst;
 class QAction;
@@ -47,8 +48,9 @@ class SamplingBar : public QToolBar
        Q_OBJECT
 
 private:
-       static const uint64_t RecordLengths[20];
-       static const uint64_t DefaultRecordLength;
+       static const uint64_t MinSampleCount;
+       static const uint64_t MaxSampleCount;
+       static const uint64_t DefaultSampleCount;
 
 public:
        SamplingBar(SigSession &session, QWidget *parent);
@@ -58,8 +60,6 @@ public:
        struct sr_dev_inst* get_selected_device() const;
        void set_selected_device(struct sr_dev_inst *const sdi);
 
-       uint64_t get_record_length() const;
-
        void set_capture_state(pv::SigSession::capture_state state);
 
 signals:
@@ -68,10 +68,13 @@ signals:
 private:
        void update_sample_rate_selector();
        void update_sample_rate_selector_value();
+       void update_sample_count_selector();
        void commit_sample_rate();
+       void commit_sample_count();
 
 private slots:
        void on_device_selected();
+       void on_sample_count_changed();
        void on_sample_rate_changed();
        void on_run_stop();
 
@@ -86,13 +89,12 @@ private:
 
        pv::widgets::PopupToolButton _probes_button;
 
-       QComboBox _record_length_selector;
+       pv::widgets::SweepTimingWidget _sample_count;
+       pv::widgets::SweepTimingWidget _sample_rate;
+       bool _updating_sample_rate;
+       bool _updating_sample_count;
 
-       QAction *_sample_rate_action;
-       QComboBox _sample_rate_list;
-       QAction *_sample_rate_list_action;
-       QDoubleSpinBox _sample_rate_value;
-       QAction *_sample_rate_value_action;
+       bool _sample_count_supported;
 
        QIcon _icon_red;
        QIcon _icon_green;