21 auto* layout =
new QVBoxLayout(
this);
22 layout->setContentsMargins(kLayoutMargin, kLayoutMargin, kLayoutMargin, kLayoutMargin);
23 layout->setSpacing(kLayoutSpacing);
25 auto* headerLayout =
new QHBoxLayout();
26 headerLayout->setContentsMargins(kHeaderMargin, kHeaderMargin, kHeaderMargin, kHeaderMargin);
27 headerLayout->setSpacing(kHeaderSpacing);
29 titleLabel =
new QLabel(
metricLabel(currentMetric),
this);
30 titleLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
32 metricSelector =
new QComboBox(
this);
37 headerLayout->addWidget(titleLabel);
38 headerLayout->addStretch();
39 headerLayout->addWidget(metricSelector);
43 layout->addLayout(headerLayout);
44 layout->addWidget(canvas, 1);
46 setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
47 setMinimumHeight(kMinWidgetHeight);
48 setMaximumHeight(kMaxWidgetHeight);
50 connect(metricSelector, &QComboBox::currentIndexChanged,
this, [
this](
int index) {
void setSharedData(std::shared_ptr< const std::vector< ObjectSnapshot > > frames, const std::array< std::pair< float, float >, kPlottableMetricCount > &valueMinMax, float tMin, float tMax)