]> sigrok.org Git - pulseview.git/blobdiff - pv/toolbars/samplingbar.h
Hide the configure device button when the popup would be empty
[pulseview.git] / pv / toolbars / samplingbar.h
index d24534bef185867883ec9657b5360011b1bafebb..9f6ceb21fd20cb2b23f3f4b08b74f2a1f32d6a57 100644 (file)
 #include <QToolBar>
 #include <QToolButton>
 
 #include <QToolBar>
 #include <QToolButton>
 
+#include <pv/sigsession.h>
+#include <pv/popups/probes.h>
+#include <pv/widgets/popuptoolbutton.h>
+
 struct st_dev_inst;
 class QAction;
 
 namespace pv {
 struct st_dev_inst;
 class QAction;
 
 namespace pv {
+
+class SigSession;
+
 namespace toolbars {
 
 class SamplingBar : public QToolBar
 namespace toolbars {
 
 class SamplingBar : public QToolBar
@@ -45,7 +52,7 @@ private:
        static const uint64_t DefaultRecordLength;
 
 public:
        static const uint64_t DefaultRecordLength;
 
 public:
-       SamplingBar(QWidget *parent);
+       SamplingBar(SigSession &session, QWidget *parent);
 
        void set_device_list(const std::list<struct sr_dev_inst*> &devices);
 
 
        void set_device_list(const std::list<struct sr_dev_inst*> &devices);
 
@@ -54,11 +61,9 @@ public:
 
        uint64_t get_record_length() const;
 
 
        uint64_t get_record_length() const;
 
-       void set_sampling(bool sampling);
+       void set_capture_state(pv::SigSession::capture_state state);
 
 signals:
 
 signals:
-       void device_selected();
-
        void run_stop();
 
 private:
        void run_stop();
 
 private:
@@ -69,20 +74,29 @@ private:
 private slots:
        void on_device_selected();
        void on_sample_rate_changed();
 private slots:
        void on_device_selected();
        void on_sample_rate_changed();
-       void on_configure();
        void on_run_stop();
 
 private:
        void on_run_stop();
 
 private:
+       SigSession &_session;
+
        QComboBox _device_selector;
        QComboBox _device_selector;
-       QToolButton _configure_button;
+       bool _updating_device_selector;
+
+       pv::widgets::PopupToolButton _configure_button;
+       QAction *_configure_button_action;
+
+       pv::widgets::PopupToolButton _probes_button;
+       pv::popups::Probes _probes_popup;
 
        QComboBox _record_length_selector;
 
 
        QComboBox _record_length_selector;
 
+       QAction *_sample_rate_action;
        QComboBox _sample_rate_list;
        QAction *_sample_rate_list_action;
        QDoubleSpinBox _sample_rate_value;
        QAction *_sample_rate_value_action;
 
        QComboBox _sample_rate_list;
        QAction *_sample_rate_list_action;
        QDoubleSpinBox _sample_rate_value;
        QAction *_sample_rate_value_action;
 
+       QIcon _icon_red;
        QIcon _icon_green;
        QIcon _icon_grey;
        QToolButton _run_stop_button;
        QIcon _icon_green;
        QIcon _icon_grey;
        QToolButton _run_stop_button;