X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Ftracegroup.cpp;h=bc63d7f2e9a80ea5576550110cf9589779bdf3ff;hp=f99b19666ba27892902a97fde42801a47a8ddca2;hb=a5d93c27b5bd6b95000e29c6cddac56ab254b289;hpb=0067d80499d36944277e6fed2d7ad5394c85c03f diff --git a/pv/view/tracegroup.cpp b/pv/view/tracegroup.cpp index f99b1966..bc63d7f2 100644 --- a/pv/view/tracegroup.cpp +++ b/pv/view/tracegroup.cpp @@ -24,11 +24,15 @@ #include "tracegroup.h" +using std::pair; using std::shared_ptr; namespace pv { namespace view { +const int TraceGroup::Padding = 8; +const int TraceGroup::Width = 12; + TraceGroup::~TraceGroup() { _owner = nullptr; @@ -65,6 +69,11 @@ const pv::view::View* TraceGroup::view() const return _owner->view(); } +pair TraceGroup::v_extents() const +{ + return RowItemOwner::v_extents(); +} + void TraceGroup::paint_label(QPainter &p, int right, bool hover) { (void)p; @@ -74,8 +83,13 @@ void TraceGroup::paint_label(QPainter &p, int right, bool hover) QRectF TraceGroup::label_rect(int right) const { - (void)right; - return QRectF(); + QRectF rect; + for (const shared_ptr r : child_items()) + if (r) + rect = rect.united(r->label_rect(right)); + + return QRectF(rect.x() - Width - Padding, rect.y(), + Width, rect.height()); } bool TraceGroup::pt_in_label_rect(int left, int right, const QPoint &point)