class QToolBar;
+namespace sigrok {
+ class Device;
+ class TriggerMatchType;
+}
+
namespace pv {
namespace data {
Q_OBJECT
private:
+ static const int SignalHeight;
+ static const int SignalMargin;
+
static const float Oversampling;
static const QColor EdgeColour;
static const QColor SignalColours[10];
public:
- LogicSignal(std::shared_ptr<pv::device::DevInst> dev_inst,
- const sr_channel *const probe,
+ LogicSignal(pv::SigSession &session,
+ std::shared_ptr<sigrok::Device> device,
+ std::shared_ptr<sigrok::Channel> channel,
std::shared_ptr<pv::data::Logic> data);
virtual ~LogicSignal();
std::shared_ptr<pv::data::Logic> logic_data() const;
+ /**
+ * Computes the vertical extents of the contents of this row item.
+ * @return A pair containing the minimum and maximum y-values.
+ */
+ std::pair<int, int> v_extents() const;
+
/**
* Paints the background layer of the signal with a QPainter
* @param p the QPainter to paint into.
void init_trigger_actions(QWidget *parent);
- QAction* match_action(int match);
- int action_match(QAction *action);
+ QAction* match_action(const sigrok::TriggerMatchType *match);
+ const sigrok::TriggerMatchType *action_match(QAction *action);
void populate_popup_form(QWidget *parent, QFormLayout *form);
+ void modify_trigger();
-private slots:
+private Q_SLOTS:
void on_trigger();
private:
+ std::shared_ptr<sigrok::Device> _device;
std::shared_ptr<pv::data::Logic> _data;
- int _trigger_match;
+ const sigrok::TriggerMatchType *_trigger_match;
QToolBar *_trigger_bar;
QAction *_trigger_none;
QAction *_trigger_rising;