]> sigrok.org Git - pulseview.git/blobdiff - pv/view/view.cpp
Session: Store signals_ in an unordered_set
[pulseview.git] / pv / view / view.cpp
index 5e89397aec8e5e71c7732bd7e27faedadb20f40d..f6c418433021d9007400b7a407cfe6e7289a6487 100644 (file)
@@ -36,7 +36,7 @@
 #include <QMouseEvent>
 #include <QScrollBar>
 
-#include <libsigrok/libsigrok.hpp>
+#include <libsigrokcxx/libsigrokcxx.hpp>
 
 #include "decodetrace.hpp"
 #include "header.hpp"
@@ -204,6 +204,13 @@ int View::owner_visual_v_offset() const
        return -verticalScrollBar()->sliderPosition();
 }
 
+void View::set_v_offset(int offset)
+{
+       verticalScrollBar()->setSliderPosition(offset);
+       header_->update();
+       viewport_->update();
+}
+
 unsigned int View::depth() const
 {
        return 0;
@@ -290,7 +297,7 @@ void View::set_scale_offset(double scale, double offset)
 set< shared_ptr<SignalData> > View::get_visible_data() const
 {
        shared_lock<shared_mutex> lock(session().signals_mutex());
-       const vector< shared_ptr<Signal> > &sigs(session().signals());
+       const unordered_set< shared_ptr<Signal> > &sigs(session().signals());
 
        // Make a set of all the visible data objects
        set< shared_ptr<SignalData> > visible_data;
@@ -676,7 +683,7 @@ void View::signals_changed()
                signal_map;
 
        shared_lock<shared_mutex> lock(session_.signals_mutex());
-       const vector< shared_ptr<Signal> > &sigs(session_.signals());
+       const unordered_set< shared_ptr<Signal> > &sigs(session_.signals());
 
        for (const shared_ptr<Signal> &sig : sigs)
                signal_map[sig->channel()] = sig;