X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Ftoolbars%2Fsamplingbar.h;h=7c0ec9af2d75a2d29577e7d5126f1b2c78c717ee;hb=e8d009288de28cb194bc7964f96677c2baf900c9;hp=db4e856e26dfff48a59a80bae7f41909aa124e30;hpb=945745012eb57cefa1ef457daf48cfffa99f9ec2;p=pulseview.git diff --git a/pv/toolbars/samplingbar.h b/pv/toolbars/samplingbar.h index db4e856..7c0ec9a 100644 --- a/pv/toolbars/samplingbar.h +++ b/pv/toolbars/samplingbar.h @@ -23,10 +23,8 @@ #include -#include #include - -#include +#include #include #include @@ -37,16 +35,18 @@ #include #include +namespace sigrok { + class Device; +} + +Q_DECLARE_METATYPE(std::shared_ptr) + class QAction; namespace pv { class SigSession; -namespace device { -class DevInst; -} - namespace toolbars { class SamplingBar : public QToolBar @@ -62,26 +62,26 @@ public: SamplingBar(SigSession &session, QWidget *parent); void set_device_list( - const std::list< boost::shared_ptr > - &devices); + const std::map< std::shared_ptr, std::string > + &device_names, + std::shared_ptr selected); - boost::shared_ptr get_selected_device() const; - void set_selected_device( - boost::shared_ptr dev_inst); + std::shared_ptr get_selected_device() const; void set_capture_state(pv::SigSession::capture_state state); -signals: +Q_SIGNALS: void run_stop(); private: void update_sample_rate_selector(); void update_sample_rate_selector_value(); void update_sample_count_selector(); + void update_device_config_widgets(); void commit_sample_rate(); void commit_sample_count(); -private slots: +private Q_SLOTS: void on_device_selected(); void on_sample_count_changed(); void on_sample_rate_changed(); @@ -89,18 +89,19 @@ private slots: void on_config_changed(); +protected: + bool eventFilter(QObject *watched, QEvent *event); + 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::widgets::PopupToolButton _channels_button; pv::widgets::SweepTimingWidget _sample_count; pv::widgets::SweepTimingWidget _sample_rate;