X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdata%2Fsignalbase.cpp;h=beefa5168a32befb421de14f36e7ef69a08a33c7;hb=baa8560e7731220a16190dbcee0854848e12c131;hp=62881528a0c37faa47aba0f97a1ff242f95dcce4;hpb=cbd2a2de848f957507096785d3be1cc97d30df9a;p=pulseview.git diff --git a/pv/data/signalbase.cpp b/pv/data/signalbase.cpp index 62881528..beefa516 100644 --- a/pv/data/signalbase.cpp +++ b/pv/data/signalbase.cpp @@ -23,6 +23,9 @@ #include "logic.hpp" #include "signalbase.hpp" #include "signaldata.hpp" +#include "decode/row.hpp" + +#include using std::dynamic_pointer_cast; using std::shared_ptr; @@ -38,6 +41,8 @@ const int SignalBase::ColourBGAlpha = 8*256/100; SignalBase::SignalBase(shared_ptr channel) : channel_(channel) { + if (channel_) + internal_name_ = QString::fromStdString(channel_->name()); } shared_ptr SignalBase::channel() const @@ -50,6 +55,11 @@ QString SignalBase::name() const return (channel_) ? QString::fromStdString(channel_->name()) : name_; } +QString SignalBase::internal_name() const +{ + return internal_name_; +} + void SignalBase::set_name(QString name) { if (channel_) @@ -124,6 +134,38 @@ shared_ptr SignalBase::logic_data() const return shared_ptr(); } +#ifdef ENABLE_DECODE +bool SignalBase::is_decode_signal() const +{ + return (decoder_stack_ != nullptr); +} + +std::shared_ptr SignalBase::decoder_stack() const +{ + return decoder_stack_; +} + +void SignalBase::set_decoder_stack(std::shared_ptr + decoder_stack) +{ + decoder_stack_ = decoder_stack; +} +#endif + +void SignalBase::save_settings(QSettings &settings) const +{ + settings.setValue("name", name()); + settings.setValue("enabled", enabled()); + settings.setValue("colour", colour()); +} + +void SignalBase::restore_settings(QSettings &settings) +{ + set_name(settings.value("name").toString()); + set_enabled(settings.value("enabled").toBool()); + set_colour(settings.value("colour").value()); +} + } // namespace data } // namespace pv