X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Ftracegroup.cpp;h=665b4ad186c1403cb3a888f9f73e4e94851c37df;hp=c2d3c0609db498e0fd2c7b164f2118b84799c6c3;hb=2acdb232d6bb452cfdfaea3ef5218fb4da592329;hpb=7ff0145fbf19de010232ea5edadea5df6c28ed8e diff --git a/pv/view/tracegroup.cpp b/pv/view/tracegroup.cpp index c2d3c060..665b4ad1 100644 --- a/pv/view/tracegroup.cpp +++ b/pv/view/tracegroup.cpp @@ -26,7 +26,7 @@ #include #include -#include "tracegroup.h" +#include "tracegroup.hpp" using std::pair; using std::shared_ptr; @@ -42,7 +42,7 @@ const QColor TraceGroup::LineColour(QColor(0x55, 0x57, 0x53)); TraceGroup::~TraceGroup() { - _owner = nullptr; + owner_ = nullptr; clear_child_items(); } @@ -54,26 +54,26 @@ bool TraceGroup::enabled() const pv::SigSession& TraceGroup::session() { - assert(_owner); - return _owner->session(); + assert(owner_); + return owner_->session(); } const pv::SigSession& TraceGroup::session() const { - assert(_owner); - return _owner->session(); + assert(owner_); + return owner_->session(); } pv::view::View* TraceGroup::view() { - assert(_owner); - return _owner->view(); + assert(owner_); + return owner_->view(); } const pv::view::View* TraceGroup::view() const { - assert(_owner); - return _owner->view(); + assert(owner_); + return owner_->view(); } pair TraceGroup::v_extents() const @@ -152,7 +152,7 @@ pv::widgets::Popup* TraceGroup::create_popup(QWidget *parent) int TraceGroup::owner_visual_v_offset() const { - return _owner ? visual_v_offset() + _owner->owner_visual_v_offset() : 0; + return owner_ ? visual_v_offset() + owner_->owner_visual_v_offset() : 0; } void TraceGroup::restack_items() @@ -192,31 +192,36 @@ void TraceGroup::restack_items() unsigned int TraceGroup::depth() const { - return _owner ? _owner->depth() + 1 : 0; + return owner_ ? owner_->depth() + 1 : 0; } -void TraceGroup::on_ungroup() +void TraceGroup::ungroup() { const vector< shared_ptr > items( child_items().begin(), child_items().end()); clear_child_items(); for (shared_ptr r : items) - _owner->add_child_item(r); + owner_->add_child_item(r); + + owner_->remove_child_item(shared_from_this()); +} - _owner->remove_child_item(shared_from_this()); +void TraceGroup::on_ungroup() +{ + ungroup(); } void TraceGroup::appearance_changed(bool label, bool content) { - if (_owner) - _owner->appearance_changed(label, content); + if (owner_) + owner_->appearance_changed(label, content); } void TraceGroup::extents_changed(bool horz, bool vert) { - if (_owner) - _owner->extents_changed(horz, vert); + if (owner_) + owner_->extents_changed(horz, vert); } } // namespace view