#include <stdint.h>
#include <list>
-#include <map>
#include <memory>
#include <QComboBox>
#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
SamplingBar(SigSession &session, QWidget *parent);
void set_device_list(
- const std::list< std::shared_ptr<pv::device::DevInst> >
- &devices,
- std::shared_ptr<pv::device::DevInst> selected);
+ const std::list< std::pair<std::shared_ptr<sigrok::Device>, std::string> > &devices,
+ std::shared_ptr<sigrok::Device> selected);
- std::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);
bool eventFilter(QObject *watched, QEvent *event);
private:
- SigSession &_session;
+ SigSession &session_;
- QComboBox _device_selector;
- std::map<const sr_dev_inst*, std::weak_ptr<device::DevInst> >
- _device_selector_map;
- bool _updating_device_selector;
+ QComboBox device_selector_;
+ bool updating_device_selector_;
- pv::widgets::PopupToolButton _configure_button;
- QAction *_configure_button_action;
+ 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;
- bool _updating_sample_rate;
- bool _updating_sample_count;
+ pv::widgets::SweepTimingWidget sample_count_;
+ pv::widgets::SweepTimingWidget sample_rate_;
+ bool updating_sample_rate_;
+ bool updating_sample_count_;
- bool _sample_count_supported;
+ bool sample_count_supported_;
- QIcon _icon_red;
- QIcon _icon_green;
- QIcon _icon_grey;
- QToolButton _run_stop_button;
+ QIcon icon_red_;
+ QIcon icon_green_;
+ QIcon icon_grey_;
+ QToolButton run_stop_button_;
};
} // namespace toolbars