X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Flogicsignal.cpp;h=58eaac9317c3694625d0757eb5cf2264ea9a5918;hb=da30ecb7e72bd2547e524258efa5ec642988b70b;hp=18ca52007b89a5b92186a6446d1d5f614d80c59b;hpb=ffd905668e3268cc834a7b8ae48d778d2b5be365;p=pulseview.git diff --git a/pv/view/logicsignal.cpp b/pv/view/logicsignal.cpp index 18ca520..58eaac9 100644 --- a/pv/view/logicsignal.cpp +++ b/pv/view/logicsignal.cpp @@ -33,6 +33,7 @@ #include #include +#include #include #include #include @@ -49,7 +50,6 @@ using std::vector; using sigrok::Channel; using sigrok::ConfigKey; -using sigrok::Device; using sigrok::Error; using sigrok::Trigger; using sigrok::TriggerStage; @@ -99,7 +99,7 @@ QCache LogicSignal::pixmap_cache_; LogicSignal::LogicSignal( pv::Session &session, - shared_ptr device, + shared_ptr device, shared_ptr channel, shared_ptr data) : Signal(session, channel), @@ -140,6 +140,11 @@ shared_ptr LogicSignal::logic_data() const return data_; } +void LogicSignal::set_logic_data(std::shared_ptr data) +{ + data_ = data; +} + std::pair LogicSignal::v_extents() const { return make_pair(-SignalHeight - SignalMargin, SignalMargin); @@ -316,13 +321,14 @@ void LogicSignal::init_trigger_actions(QWidget *parent) const vector LogicSignal::get_trigger_types() const { - const auto keys = device_->config_keys(ConfigKey::DEVICE_OPTIONS); + const auto sr_dev = device_->device(); + const auto keys = sr_dev->config_keys(ConfigKey::DEVICE_OPTIONS); const auto iter = keys.find(ConfigKey::TRIGGER_MATCH); if (iter != keys.end() && (*iter).second.find(sigrok::LIST) != (*iter).second.end()) { try { const Glib::VariantContainerBase gvar = - device_->config_list(ConfigKey::TRIGGER_MATCH); + sr_dev->config_list(ConfigKey::TRIGGER_MATCH); return Glib::VariantBase::cast_dynamic< Glib::Variant>>(gvar).get(); } catch (Error e) {