+void ViewBase::remove_signalbase(const shared_ptr<data::SignalBase> signalbase)
+{
+ disconnect(signalbase.get(), SIGNAL(samples_cleared()),
+ this, SLOT(on_data_updated()));
+ disconnect(signalbase.get(), SIGNAL(samples_added(uint64_t, uint64_t, uint64_t)),
+ this, SLOT(on_samples_added(uint64_t, uint64_t, uint64_t)));
+
+ signalbases_.erase(std::remove_if(signalbases_.begin(), signalbases_.end(),
+ [&](shared_ptr<data::SignalBase> s) { return s == signalbase; }),
+ signalbases_.end());
+}
+