X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Fviewport.cpp;fp=pv%2Fview%2Fviewport.cpp;h=c55e76a2d301d0ce1b9e362a33194dbbe0909848;hp=007a8c218878fa14cf0477322b7557296a990a14;hb=cc88566ce77bed57358a82dec5da648feb66d10b;hpb=e71eb81c946c3524e01eaef9781ccbf170143d0c diff --git a/pv/view/viewport.cpp b/pv/view/viewport.cpp index 007a8c21..c55e76a2 100644 --- a/pv/view/viewport.cpp +++ b/pv/view/viewport.cpp @@ -95,7 +95,11 @@ void Viewport::drag_release() vector< shared_ptr > Viewport::items() { - vector< shared_ptr > items(view_.begin(), view_.end()); + vector< shared_ptr > items; + const vector< shared_ptr > trace_tree_items( + view_.list_by_type()); + copy(trace_tree_items.begin(), trace_tree_items.end(), + back_inserter(items)); const vector< shared_ptr > time_items(view_.time_items()); copy(time_items.begin(), time_items.end(), back_inserter(items)); return items; @@ -148,11 +152,12 @@ bool Viewport::touch_event(QTouchEvent *event) void Viewport::paintEvent(QPaintEvent*) { - vector< shared_ptr > row_items(view_.begin(), view_.end()); - assert(none_of(row_items.begin(), row_items.end(), + vector< shared_ptr > trace_tree_items( + view_.list_by_type()); + assert(none_of(trace_tree_items.begin(), trace_tree_items.end(), [](const shared_ptr &r) { return !r; })); - stable_sort(row_items.begin(), row_items.end(), + stable_sort(trace_tree_items.begin(), trace_tree_items.end(), [](const shared_ptr &a, const shared_ptr &b) { return a->visual_v_offset() < b->visual_v_offset(); }); @@ -167,17 +172,17 @@ void Viewport::paintEvent(QPaintEvent*) for (const shared_ptr t : time_items) t->paint_back(p, pp); - for (const shared_ptr r : row_items) + for (const shared_ptr r : trace_tree_items) r->paint_back(p, pp); for (const shared_ptr t : time_items) t->paint_mid(p, pp); - for (const shared_ptr r : row_items) + for (const shared_ptr r : trace_tree_items) r->paint_mid(p, pp); p.setRenderHint(QPainter::Antialiasing, false); - for (const shared_ptr r : row_items) + for (const shared_ptr r : trace_tree_items) r->paint_fore(p, pp); for (const shared_ptr t : time_items) t->paint_fore(p, pp);