]> sigrok.org Git - pulseview.git/blobdiff - pv/view/tracegroup.cpp
RowItem: Replaced fixed signal heights with extents
[pulseview.git] / pv / view / tracegroup.cpp
index f99b19666ba27892902a97fde42801a47a8ddca2..bc63d7f2e9a80ea5576550110cf9589779bdf3ff 100644 (file)
 
 #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<int, int> 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<RowItem> 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)