X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Ftracegroup.cpp;h=9c1d49ff2b6645b5ae186b900b2fccf058b6f813;hp=74221d440a15331a0ac657cadab0b3cf88b8399d;hb=744aa24fc5a7084461e4e70595b96f1c3eac65e4;hpb=4c60462b00cc329e61daedd1c2e66724077bd412 diff --git a/pv/view/tracegroup.cpp b/pv/view/tracegroup.cpp index 74221d44..9c1d49ff 100644 --- a/pv/view/tracegroup.cpp +++ b/pv/view/tracegroup.cpp @@ -49,7 +49,7 @@ TraceGroup::~TraceGroup() bool TraceGroup::enabled() const { return std::any_of(child_items().begin(), child_items().end(), - [](const shared_ptr &r) { return r->enabled(); }); + [](const shared_ptr &r) { return r->enabled(); }); } pv::Session& TraceGroup::session() @@ -78,7 +78,7 @@ const pv::view::View* TraceGroup::view() const pair TraceGroup::v_extents() const { - return RowItemOwner::v_extents(); + return TraceTreeItemOwner::v_extents(); } void TraceGroup::paint_label(QPainter &p, const QRect &rect, bool hover) @@ -115,7 +115,7 @@ void TraceGroup::paint_label(QPainter &p, const QRect &rect, bool hover) QRectF TraceGroup::label_rect(const QRectF &rect) const { QRectF child_rect; - for (const shared_ptr r : child_items()) + for (const shared_ptr r : child_items()) if (r && r->enabled()) child_rect = child_rect.united(r->label_rect(rect)); @@ -157,22 +157,21 @@ int TraceGroup::owner_visual_v_offset() const void TraceGroup::restack_items() { - vector< shared_ptr > items( - child_items().begin(), child_items().end()); + vector> items(trace_tree_child_items()); // Sort by the centre line of the extents stable_sort(items.begin(), items.end(), - [](const shared_ptr &a, const shared_ptr &b) { + [](const shared_ptr &a, const shared_ptr &b) { const auto aext = a->v_extents(); const auto bext = b->v_extents(); - return a->layout_v_offset() + + return a->layout_v_offset() + (aext.first + aext.second) / 2 < b->layout_v_offset() + (bext.first + bext.second) / 2; }); int total_offset = 0; - for (shared_ptr r : items) { + for (shared_ptr r : items) { const pair extents = r->v_extents(); if (extents.first == 0 && extents.second == 0) continue; @@ -197,11 +196,10 @@ unsigned int TraceGroup::depth() const void TraceGroup::ungroup() { - const vector< shared_ptr > items( - child_items().begin(), child_items().end()); + const vector> items(trace_tree_child_items()); clear_child_items(); - for (shared_ptr r : items) + for (shared_ptr r : items) owner_->add_child_item(r); owner_->remove_child_item(shared_from_this());