X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fview.cpp;h=2cb3f3ed9b6f3dd1f2591b94911b150004f4ba94;hb=0a47889b01386b1e55c7df73ca301046a195ff97;hp=305031ebd466c9a0b699e4641fa8b6639b8c5e5c;hpb=2c25d912f97ca7bedd9c03f4827fe8d8a189e8bc;p=pulseview.git diff --git a/pv/view/view.cpp b/pv/view/view.cpp index 305031e..2cb3f3e 100644 --- a/pv/view/view.cpp +++ b/pv/view/view.cpp @@ -43,6 +43,7 @@ #include "pv/data/logicsnapshot.h" using pv::data::SignalData; +using std::back_inserter; using std::deque; using std::list; using std::max; @@ -170,7 +171,7 @@ double View::offset() const int View::v_offset() const { - return _v_offset; + return -_v_offset; } void View::zoom(double steps) @@ -242,26 +243,21 @@ void View::set_scale_offset(double scale, double offset) vector< shared_ptr > View::get_traces() const { + vector< shared_ptr > traces; + const vector< shared_ptr > sigs( session().get_signals()); + copy(sigs.begin(), sigs.end(), back_inserter(traces)); + #ifdef ENABLE_DECODE const vector< shared_ptr > decode_sigs( session().get_decode_signals()); - vector< shared_ptr > traces( - sigs.size() + decode_sigs.size()); -#else - vector< shared_ptr > traces(sigs.size()); -#endif - - auto i = traces.begin(); - i = copy(sigs.begin(), sigs.end(), i); -#ifdef ENABLE_DECODE - i = copy(decode_sigs.begin(), decode_sigs.end(), i); + copy(decode_sigs.begin(), decode_sigs.end(), back_inserter(traces)); #endif stable_sort(traces.begin(), traces.end(), [](const shared_ptr &a, const shared_ptr &b) { - return a->get_v_offset() < b->get_v_offset(); }); + return a->v_offset() < b->v_offset(); }); return traces; } @@ -365,11 +361,11 @@ void View::normalize_layout() int v_min = INT_MAX; for (const shared_ptr t : traces) - v_min = min(t->get_v_offset(), v_min); + v_min = min(t->v_offset(), v_min); const int delta = -min(v_min, 0); for (shared_ptr t : traces) - t->set_v_offset(t->get_v_offset() + delta); + t->set_v_offset(t->v_offset() + delta); verticalScrollBar()->setSliderPosition(_v_offset + delta); v_scroll_value_changed(verticalScrollBar()->sliderPosition());