QTabWidget* ResultsPage::createDataTabWidget() { QTabWidget *tabWidget = new QTabWidget; // Plot m_plot = new QwtPlot(tabWidget); m_plot->setCanvasBackground(Qt::white); m_plot->setContextMenuPolicy(Qt::CustomContextMenu); m_plot->setAutoReplot(false); connect(m_plot, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showPlotContextMenu(QPoint))); // Picker to allow for selection of the closest curve and displays curve // coordinates with a cross rubber band. QwtPlotPicker *picker = new QwtPlotPicker(QwtPlot::xBottom, QwtPlot::yLeft, QwtPicker::CrossRubberBand, QwtPicker::ActiveOnly, m_plot->canvas()); picker->setStateMachine(new QwtPickerDragPointMachine()); connect(picker, SIGNAL(appended(QPoint)), this, SLOT(pointSelected(QPoint))); // Legend QwtLegend* legend = new QwtLegend; legend->setFrameStyle(QFrame::Box | QFrame::Sunken); m_plot->insertLegend(legend, QwtPlot::BottomLegend); #if QWT_VERSION >= 0x060100 connect(m_plot, SIGNAL(legendDataChanged(QVariant,QList<QwtLegendData>)), legend, SLOT(updateLegend(QVariant,QList<QwtLegendData>))); #endif // Add the generic curves to the legend QList<QPair<QString, Qt::GlobalColor> > pairs; pairs << qMakePair(tr("Unselected Realization"), Qt::darkGray) << qMakePair(tr("Selected and Enabled Realization"), Qt::darkGreen) << qMakePair(tr("Selected and Disabled Realization"), Qt::darkRed); QPair<QString, Qt::GlobalColor> pair; foreach (pair, pairs) { QwtPlotCurve *curve = new QwtPlotCurve(pair.first); curve->setLegendIconSize(QSize(32, 8)); curve->setPen(QPen(QBrush(pair.second), 2)); curve->setLegendAttribute(QwtPlotCurve::LegendShowLine); #if QWT_VERSION < 0x060100 curve->updateLegend(legend); #else m_plot->updateLegend(curve); #endif }