- vector< shared_ptr<TraceTreeItem> > trace_tree_items(
- view_.list_by_type<TraceTreeItem>());
- assert(none_of(trace_tree_items.begin(), trace_tree_items.end(),
- [](const shared_ptr<TraceTreeItem> &r) { return !r; }));
+ typedef void (ViewItem::*LayerPaintFunc)(
+ QPainter &p, ViewItemPaintParams &pp);
+ LayerPaintFunc layer_paint_funcs[] = {
+ &ViewItem::paint_back, &ViewItem::paint_mid,
+ &ViewItem::paint_fore, nullptr};
+
+ vector< shared_ptr<RowItem> > row_items(view_.list_by_type<RowItem>());
+ assert(none_of(row_items.begin(), row_items.end(),
+ [](const shared_ptr<RowItem> &r) { return !r; }));