projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Replaced boost::function with std::function
[pulseview.git]
/
pv
/
toolbars
/
samplingbar.h
diff --git
a/pv/toolbars/samplingbar.h
b/pv/toolbars/samplingbar.h
index 039e4e41192e781dc4ddeff35503928c84d2b043..2c2431c427a71ccb0fa3ff166b38503737d8edb9 100644
(file)
--- a/
pv/toolbars/samplingbar.h
+++ b/
pv/toolbars/samplingbar.h
@@
-24,6
+24,8
@@
#include <stdint.h>
#include <list>
#include <stdint.h>
#include <list>
+#include <map>
+#include <memory>
#include <QComboBox>
#include <QDoubleSpinBox>
#include <QComboBox>
#include <QDoubleSpinBox>
@@
-31,16
+33,19
@@
#include <QToolButton>
#include <pv/sigsession.h>
#include <QToolButton>
#include <pv/sigsession.h>
-#include <pv/popups/probes.h>
#include <pv/widgets/popuptoolbutton.h>
#include <pv/widgets/popuptoolbutton.h>
+#include <pv/widgets/sweeptimingwidget.h>
-struct st_dev_inst;
class QAction;
namespace pv {
class SigSession;
class QAction;
namespace pv {
class SigSession;
+namespace device {
+class DevInst;
+}
+
namespace toolbars {
class SamplingBar : public QToolBar
namespace toolbars {
class SamplingBar : public QToolBar
@@
-48,18
+53,19
@@
class SamplingBar : public QToolBar
Q_OBJECT
private:
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);
public:
SamplingBar(SigSession &session, QWidget *parent);
- void set_device_list(
const std::list<struct sr_dev_inst*> &devices);
-
- struct sr_dev_inst* get_selected_device() const;
-
void set_selected_device(struct sr_dev_inst *const sdi
);
+ void set_device_list(
+ const std::list< std::shared_ptr<pv::device::DevInst> >
+ &devices,
+
std::shared_ptr<pv::device::DevInst> selected
);
-
uint64_t get_record_length
() const;
+
std::shared_ptr<pv::device::DevInst> get_selected_device
() const;
void set_capture_state(pv::SigSession::capture_state state);
void set_capture_state(pv::SigSession::capture_state state);
@@
-69,27
+75,41
@@
signals:
private:
void update_sample_rate_selector();
void update_sample_rate_selector_value();
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_rate();
+ void commit_sample_count();
private slots:
void on_device_selected();
private slots:
void on_device_selected();
+ void on_sample_count_changed();
void on_sample_rate_changed();
void on_run_stop();
void on_sample_rate_changed();
void on_run_stop();
+ void on_config_changed();
+
+protected:
+ bool eventFilter(QObject *watched, QEvent *event);
+
private:
SigSession &_session;
QComboBox _device_selector;
private:
SigSession &_session;
QComboBox _device_selector;
+ std::map<const sr_dev_inst*, std::weak_ptr<device::DevInst> >
+ _device_selector_map;
+ bool _updating_device_selector;
pv::widgets::PopupToolButton _configure_button;
pv::widgets::PopupToolButton _configure_button;
+ QAction *_configure_button_action;
+
pv::widgets::PopupToolButton _probes_button;
pv::widgets::PopupToolButton _probes_button;
- QComboBox _record_length_selector;
+ pv::widgets::SweepTimingWidget _sample_count;
+ pv::widgets::SweepTimingWidget _sample_rate;
+ bool _updating_sample_rate;
+ bool _updating_sample_count;
- 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;
QIcon _icon_red;
QIcon _icon_green;