class QToolBar;
+namespace sigrok {
+ class Device;
+ class TriggerMatchType;
+}
+
namespace pv {
namespace data {
static const QColor SignalColours[10];
public:
- LogicSignal(std::shared_ptr<pv::device::DevInst> dev_inst,
- const sr_channel *const probe,
+ LogicSignal(std::shared_ptr<sigrok::Device> device,
+ std::shared_ptr<sigrok::Channel> channel,
std::shared_ptr<pv::data::Logic> data);
virtual ~LogicSignal();
void paint_mid(QPainter &p, int left, int right);
private:
-
void paint_caps(QPainter &p, QLineF *const lines,
std::vector< std::pair<int64_t, bool> > &edges,
bool level, double samples_per_pixel, double pixels_offset,
void init_trigger_actions(QWidget *parent);
+ QAction* match_action(const sigrok::TriggerMatchType *match);
+ const sigrok::TriggerMatchType *action_match(QAction *action);
void populate_popup_form(QWidget *parent, QFormLayout *form);
-
- void add_trigger_action(const char *trig_types, char type,
- QAction *action);
-
- void update_trigger_actions();
-
- void set_trigger(char type);
-private slots:
- void on_trigger_none();
- void on_trigger_rising();
- void on_trigger_high();
- void on_trigger_falling();
- void on_trigger_low();
- void on_trigger_change();
+private Q_SLOTS:
+ void on_trigger();
private:
+ std::shared_ptr<sigrok::Device> _device;
std::shared_ptr<pv::data::Logic> _data;
+ const sigrok::TriggerMatchType *_trigger_match;
QToolBar *_trigger_bar;
QAction *_trigger_none;
QAction *_trigger_rising;