]> sigrok.org Git - pulseview.git/blobdiff - pv/view/tracegroup.cpp
TraceGroup: Implemented label_rect
[pulseview.git] / pv / view / tracegroup.cpp
index f99b19666ba27892902a97fde42801a47a8ddca2..9d0465fc3c863421f69bec5eaf5740b7629e83f2 100644 (file)
@@ -29,6 +29,9 @@ using std::shared_ptr;
 namespace pv {
 namespace view {
 
+const int TraceGroup::Padding = 8;
+const int TraceGroup::Width = 12;
+
 TraceGroup::~TraceGroup()
 {
        _owner = nullptr;
@@ -74,8 +77,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)