X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Frowitemowner.cpp;h=8970f45a73727207fae763043efbb6df66467c21;hp=03f0e68d3ae52e5a0451f80c66683052b470e460;hb=bc01bb31fb03f69c8ceef57676b3399d7a08dcd9;hpb=be9e7b4bb29b6594ec2b64442748ab135b684bf8 diff --git a/pv/view/rowitemowner.cpp b/pv/view/rowitemowner.cpp index 03f0e68d..8970f45a 100644 --- a/pv/view/rowitemowner.cpp +++ b/pv/view/rowitemowner.cpp @@ -20,8 +20,8 @@ #include -#include "rowitem.h" -#include "rowitemowner.h" +#include "rowitem.hpp" +#include "rowitemowner.hpp" using std::max; using std::make_pair; @@ -35,42 +35,46 @@ namespace view { vector< shared_ptr >& RowItemOwner::child_items() { - return _items; + return items_; } const vector< shared_ptr >& RowItemOwner::child_items() const { - return _items; + return items_; } void RowItemOwner::clear_child_items() { - for (auto &i : _items) { + for (auto &i : items_) { assert(i->owner() == this); i->set_owner(nullptr); } - _items.clear(); + items_.clear(); } void RowItemOwner::add_child_item(std::shared_ptr item) { assert(!item->owner()); item->set_owner(this); - _items.push_back(item); + items_.push_back(item); + + extents_changed(true, true); } void RowItemOwner::remove_child_item(std::shared_ptr item) { assert(item->owner() == this); item->set_owner(nullptr); - auto iter = std::find(_items.begin(), _items.end(), item); - assert(iter != _items.end()); - _items.erase(iter); + auto iter = std::find(items_.begin(), items_.end(), item); + assert(iter != items_.end()); + items_.erase(iter); + + extents_changed(true, true); } RowItemOwner::iterator RowItemOwner::begin() { - return iterator(this, _items.begin()); + return iterator(this, items_.begin()); } RowItemOwner::iterator RowItemOwner::end() @@ -80,7 +84,7 @@ RowItemOwner::iterator RowItemOwner::end() RowItemOwner::const_iterator RowItemOwner::begin() const { - return const_iterator(this, _items.cbegin()); + return const_iterator(this, items_.cbegin()); } RowItemOwner::const_iterator RowItemOwner::end() const @@ -90,7 +94,8 @@ RowItemOwner::const_iterator RowItemOwner::end() const pair RowItemOwner::v_extents() const { - pair extents(0, 0); + pair extents(INT_MAX, INT_MIN); + for (const shared_ptr r : child_items()) { assert(r); if (!r->enabled()) @@ -107,5 +112,9 @@ pair RowItemOwner::v_extents() const return extents; } +void RowItemOwner::restack_items() +{ +} + } // view } // pv