X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fsignalbase.cpp;h=86ef68566ce118b0b09d0ccdfc94d4f06b35bf87;hp=78633de977706ac5947969f1138fb340562a170a;hb=720f47623827824dc77dd9dff643c06e570d9068;hpb=e590fc9c4f01fe3a4147c63e85f7aeaffeec5498 diff --git a/pv/data/signalbase.cpp b/pv/data/signalbase.cpp index 78633de9..86ef6856 100644 --- a/pv/data/signalbase.cpp +++ b/pv/data/signalbase.cpp @@ -83,7 +83,7 @@ QString SignalBase::internal_name() const QString SignalBase::display_name() const { - if (name() != internal_name_) + if ((name() != internal_name_) && (!internal_name_.isEmpty())) return name() + " (" + internal_name_ + ")"; else return name(); @@ -155,8 +155,8 @@ void SignalBase::set_data(shared_ptr data) if (data_) { disconnect(data.get(), SIGNAL(samples_cleared()), this, SLOT(on_samples_cleared())); - disconnect(data.get(), SIGNAL(samples_added(QObject*, uint64_t, uint64_t)), - this, SLOT(on_samples_added(QObject*, uint64_t, uint64_t))); + disconnect(data.get(), SIGNAL(samples_added(shared_ptr, uint64_t, uint64_t)), + this, SLOT(on_samples_added(shared_ptr, uint64_t, uint64_t))); if (channel_type_ == AnalogChannel) { shared_ptr analog = analog_data(); @@ -172,8 +172,8 @@ void SignalBase::set_data(shared_ptr data) if (data_) { connect(data.get(), SIGNAL(samples_cleared()), this, SLOT(on_samples_cleared())); - connect(data.get(), SIGNAL(samples_added(QObject*, uint64_t, uint64_t)), - this, SLOT(on_samples_added(QObject*, uint64_t, uint64_t))); + connect(data.get(), SIGNAL(samples_added(SharedPtrToSegment, uint64_t, uint64_t)), + this, SLOT(on_samples_added(SharedPtrToSegment, uint64_t, uint64_t))); if (channel_type_ == AnalogChannel) { shared_ptr analog = analog_data(); @@ -185,6 +185,15 @@ void SignalBase::set_data(shared_ptr data) } } +void SignalBase::clear_sample_data() +{ + if (analog_data()) + analog_data()->clear(); + + if (logic_data()) + logic_data()->clear(); +} + shared_ptr SignalBase::analog_data() const { shared_ptr result = nullptr; @@ -743,7 +752,7 @@ void SignalBase::on_samples_cleared() samples_cleared(); } -void SignalBase::on_samples_added(QObject* segment, uint64_t start_sample, +void SignalBase::on_samples_added(SharedPtrToSegment segment, uint64_t start_sample, uint64_t end_sample) { if (conversion_type_ != NoConversion) { @@ -757,8 +766,7 @@ void SignalBase::on_samples_added(QObject* segment, uint64_t start_sample, } } - data::Segment* s = qobject_cast(segment); - samples_added(s->segment_id(), start_sample, end_sample); + samples_added(segment->segment_id(), start_sample, end_sample); } void SignalBase::on_min_max_changed(float min, float max)