X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fview.cpp;h=a05ac207beaaf734de8803f015479267ccd6d65d;hb=e45b13b536666034c9b6fe52a9321d749dae3c02;hp=cce5e11b6f99ddb2cc4ecb4bac47707beaa6f959;hpb=f15bb3bc4f964eaafdd4c46f29f69ef74572baee;p=pulseview.git diff --git a/pv/view/view.cpp b/pv/view/view.cpp index cce5e11..a05ac20 100644 --- a/pv/view/view.cpp +++ b/pv/view/view.cpp @@ -36,7 +36,7 @@ #include #include -#include +#include #include "decodetrace.hpp" #include "header.hpp" @@ -92,7 +92,6 @@ View::View(Session &session, QWidget *parent) : header_(new Header(*this)), scale_(1e-6), offset_(0), - v_offset_(0), updating_scroll_(false), tick_period_(0.0), tick_prefix_(0), @@ -104,7 +103,7 @@ View::View(Session &session, QWidget *parent) : connect(horizontalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(h_scroll_value_changed(int))); connect(verticalScrollBar(), SIGNAL(valueChanged(int)), - this, SLOT(v_scroll_value_changed(int))); + this, SLOT(v_scroll_value_changed())); connect(&session_, SIGNAL(signals_changed()), this, SLOT(signals_changed())); @@ -202,7 +201,14 @@ double View::offset() const int View::owner_visual_v_offset() const { - return -v_offset_; + return -verticalScrollBar()->sliderPosition(); +} + +void View::set_v_offset(int offset) +{ + verticalScrollBar()->setSliderPosition(offset); + header_->update(); + viewport_->update(); } unsigned int View::depth() const @@ -291,7 +297,7 @@ void View::set_scale_offset(double scale, double offset) set< shared_ptr > View::get_visible_data() const { shared_lock lock(session().signals_mutex()); - const vector< shared_ptr > &sigs(session().signals()); + const unordered_set< shared_ptr > &sigs(session().signals()); // Make a set of all the visible data objects set< shared_ptr > visible_data; @@ -317,7 +323,7 @@ pair View::get_time_extents() const const double start_time = s->start_time(); left_time = min(left_time, start_time); right_time = max(right_time, start_time + - d->get_max_sample_count() / samplerate); + d->max_sample_count() / samplerate); } } @@ -656,9 +662,8 @@ void View::h_scroll_value_changed(int value) viewport_->update(); } -void View::v_scroll_value_changed(int value) +void View::v_scroll_value_changed() { - v_offset_ = value; header_->update(); viewport_->update(); } @@ -678,7 +683,7 @@ void View::signals_changed() signal_map; shared_lock lock(session_.signals_mutex()); - const vector< shared_ptr > &sigs(session_.signals()); + const unordered_set< shared_ptr > &sigs(session_.signals()); for (const shared_ptr &sig : sigs) signal_map[sig->channel()] = sig;