]> sigrok.org Git - pulseview.git/blobdiff - pv/toolbars/samplingbar.h
Use libsigrok C++ bindings (patch version 7).
[pulseview.git] / pv / toolbars / samplingbar.h
index e59d2f9f0b195da8417c126de2ea6f4ec7f53539..7c0ec9af2d75a2d29577e7d5126f1b2c78c717ee 100644 (file)
 
 #include <stdint.h>
 
-#include <list>
 #include <map>
-
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 #include <QComboBox>
 #include <QDoubleSpinBox>
 #include <pv/widgets/popuptoolbutton.h>
 #include <pv/widgets/sweeptimingwidget.h>
 
+namespace sigrok {
+       class Device;
+}
+
+Q_DECLARE_METATYPE(std::shared_ptr<sigrok::Device>)
+
 class QAction;
 
 namespace pv {
 
 class SigSession;
 
-namespace device {
-class DevInst;
-}
-
 namespace toolbars {
 
 class SamplingBar : public QToolBar
@@ -62,15 +62,15 @@ public:
        SamplingBar(SigSession &session, QWidget *parent);
 
        void set_device_list(
-               const std::list< boost::shared_ptr<pv::device::DevInst> >
-                       &devices,
-               boost::shared_ptr<pv::device::DevInst> selected);
+               const std::map< std::shared_ptr<sigrok::Device>, std::string >
+                       &device_names,
+               std::shared_ptr<sigrok::Device> selected);
 
-       boost::shared_ptr<pv::device::DevInst> get_selected_device() const;
+       std::shared_ptr<sigrok::Device> get_selected_device() const;
 
        void set_capture_state(pv::SigSession::capture_state state);
 
-signals:
+Q_SIGNALS:
        void run_stop();
 
 private:
@@ -81,7 +81,7 @@ private:
        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<const sr_dev_inst*, boost::weak_ptr<device::DevInst> >
-               _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;