]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/tracegroup.cpp
Backport recent changes from mainline.
[pulseview.git] / pv / views / trace / tracegroup.cpp
index 9bcc29e9bb5e40f351c3b9aa725c69b7fbf691a6..3cbca90934d68a8417e17d5feb6bc70fd79bb3a6 100644 (file)
@@ -39,7 +39,7 @@ namespace trace {
 const int TraceGroup::Padding = 8;
 const int TraceGroup::Width = 12;
 const int TraceGroup::LineThickness = 5;
-const QColor TraceGroup::LineColour(QColor(0x55, 0x57, 0x53));
+const QColor TraceGroup::LineColor(QColor(0x55, 0x57, 0x53));
 
 TraceGroup::~TraceGroup()
 {
@@ -85,8 +85,8 @@ pair<int, int> TraceGroup::v_extents() const
 void TraceGroup::paint_label(QPainter &p, const QRect &rect, bool hover)
 {
        const QRectF r = label_rect(rect).adjusted(
-               LineThickness / 2, LineThickness / 2,
-               -LineThickness / 2, -LineThickness / 2);
+               LineThickness / 2.0, LineThickness / 2.0,
+               -LineThickness / 2.0, -LineThickness / 2.0);
 
        // Paint the label
        const QPointF points[] = {
@@ -104,10 +104,10 @@ void TraceGroup::paint_label(QPainter &p, const QRect &rect, bool hover)
                p.drawPolyline(points, countof(points));
        }
 
-       p.setPen(QPen(QBrush(LineColour.darker()), LineThickness,
+       p.setPen(QPen(QBrush(LineColor.darker()), LineThickness,
                Qt::SolidLine, Qt::SquareCap, Qt::RoundJoin));
        p.drawPolyline(points, countof(points));
-       p.setPen(QPen(QBrush(hover ? LineColour.lighter() : LineColour),
+       p.setPen(QPen(QBrush(hover ? LineColor.lighter() : LineColor),
                LineThickness - 2, Qt::SolidLine, Qt::SquareCap,
                Qt::RoundJoin));
        p.drawPolyline(points, countof(points));
@@ -116,7 +116,7 @@ void TraceGroup::paint_label(QPainter &p, const QRect &rect, bool hover)
 QRectF TraceGroup::label_rect(const QRectF &rect) const
 {
        QRectF child_rect;
-       for (const shared_ptr<ViewItem> r : child_items())
+       for (const shared_ptr<ViewItem>& r : child_items())
                if (r && r->enabled())
                        child_rect = child_rect.united(r->label_rect(rect));
 
@@ -133,7 +133,7 @@ bool TraceGroup::pt_in_label_rect(int left, int right, const QPoint &point)
        return false;
 }
 
-QMenu* TraceGroup::create_context_menu(QWidget *parent)
+QMenu* TraceGroup::create_header_context_menu(QWidget *parent)
 {
        QMenu *const menu = new QMenu(parent);
 
@@ -156,40 +156,6 @@ int TraceGroup::owner_visual_v_offset() const
        return owner_ ? visual_v_offset() + owner_->owner_visual_v_offset() : 0;
 }
 
-void TraceGroup::restack_items()
-{
-       vector<shared_ptr<TraceTreeItem>> items(trace_tree_child_items());
-
-       // Sort by the centre line of the extents
-       stable_sort(items.begin(), items.end(),
-               [](const shared_ptr<TraceTreeItem> &a, const shared_ptr<TraceTreeItem> &b) {
-                       const auto aext = a->v_extents();
-                       const auto bext = b->v_extents();
-                       return a->layout_v_offset() +
-                                       (aext.first + aext.second) / 2 <
-                               b->layout_v_offset() +
-                                       (bext.first + bext.second) / 2;
-               });
-
-       int total_offset = 0;
-       for (shared_ptr<TraceTreeItem> r : items) {
-               const pair<int, int> extents = r->v_extents();
-               if (extents.first == 0 && extents.second == 0)
-                       continue;
-
-               // We position disabled traces, so that they are close to the
-               // animation target positon should they be re-enabled
-               if (r->enabled())
-                       total_offset += -extents.first;
-
-               if (!r->dragging())
-                       r->set_layout_v_offset(total_offset);
-
-               if (r->enabled())
-                       total_offset += extents.second;
-       }
-}
-
 unsigned int TraceGroup::depth() const
 {
        return owner_ ? owner_->depth() + 1 : 0;
@@ -200,7 +166,7 @@ void TraceGroup::ungroup()
        const vector<shared_ptr<TraceTreeItem>> items(trace_tree_child_items());
        clear_child_items();
 
-       for (shared_ptr<TraceTreeItem> r : items)
+       for (const shared_ptr<TraceTreeItem>& r : items)
                owner_->add_child_item(r);
 
        owner_->remove_child_item(shared_from_this());