X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Ftoolbars%2Fsamplingbar.h;h=db4e856e26dfff48a59a80bae7f41909aa124e30;hb=945745012eb57cefa1ef457daf48cfffa99f9ec2;hp=d2b3ad50aa035a57a208c845086120a99603d05d;hpb=32c81aef875696bdd1b933e20ab91703ad63203d;p=pulseview.git diff --git a/pv/toolbars/samplingbar.h b/pv/toolbars/samplingbar.h index d2b3ad5..db4e856 100644 --- a/pv/toolbars/samplingbar.h +++ b/pv/toolbars/samplingbar.h @@ -24,6 +24,9 @@ #include #include +#include + +#include #include #include @@ -31,16 +34,19 @@ #include #include -#include #include +#include -struct st_dev_inst; class QAction; namespace pv { class SigSession; +namespace device { +class DevInst; +} + namespace toolbars { class SamplingBar : public QToolBar @@ -48,18 +54,20 @@ 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); - void set_device_list(const std::list &devices); + void set_device_list( + const std::list< boost::shared_ptr > + &devices); - struct sr_dev_inst* get_selected_device() const; - void set_selected_device(struct sr_dev_inst *const sdi); - - uint64_t get_record_length() const; + boost::shared_ptr get_selected_device() const; + void set_selected_device( + boost::shared_ptr dev_inst); void set_capture_state(pv::SigSession::capture_state state); @@ -69,31 +77,37 @@ 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(); + void on_config_changed(); + private: SigSession &_session; QComboBox _device_selector; + std::map > + _device_selector_map; 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; + 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;