X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Ftoolbars%2Fsamplingbar.h;h=9f6ceb21fd20cb2b23f3f4b08b74f2a1f32d6a57;hp=d24534bef185867883ec9657b5360011b1bafebb;hb=b3e8a5d8e8139278a40508694e0b179170fffa14;hpb=5ac961e325a9d2cbafdd8fae3a6704d7348cf19a diff --git a/pv/toolbars/samplingbar.h b/pv/toolbars/samplingbar.h index d24534be..9f6ceb21 100644 --- a/pv/toolbars/samplingbar.h +++ b/pv/toolbars/samplingbar.h @@ -30,10 +30,17 @@ #include #include +#include +#include +#include + struct st_dev_inst; class QAction; namespace pv { + +class SigSession; + namespace toolbars { class SamplingBar : public QToolBar @@ -45,7 +52,7 @@ private: static const uint64_t DefaultRecordLength; public: - SamplingBar(QWidget *parent); + SamplingBar(SigSession &session, QWidget *parent); void set_device_list(const std::list &devices); @@ -54,11 +61,9 @@ public: uint64_t get_record_length() const; - void set_sampling(bool sampling); + void set_capture_state(pv::SigSession::capture_state state); signals: - void device_selected(); - void run_stop(); private: @@ -69,20 +74,29 @@ private: private slots: void on_device_selected(); void on_sample_rate_changed(); - void on_configure(); void on_run_stop(); private: + SigSession &_session; + 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; + QAction *_sample_rate_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;