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()
{
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[] = {
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));
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));
return false;
}
-QMenu* TraceGroup::create_context_menu(QWidget *parent)
+QMenu* TraceGroup::create_header_context_menu(QWidget *parent)
{
QMenu *const menu = new QMenu(parent);
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;
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());