From 26c176b0b3384f736dd7287628a5009a90e649a7 2017-11-29 10:03:52 From: Thibaud Rabillard Date: 2017-11-29 10:03:52 Subject: [PATCH] Allow graph panning with the mouse in default mode --- diff --git a/gui/src/Visualization/VisualizationGraphWidget.cpp b/gui/src/Visualization/VisualizationGraphWidget.cpp index c9145ea..1e6c8bf 100644 --- a/gui/src/Visualization/VisualizationGraphWidget.cpp +++ b/gui/src/Visualization/VisualizationGraphWidget.cpp @@ -125,7 +125,7 @@ struct VisualizationGraphWidget::VisualizationGraphWidgetPrivate { m_SelectionZones.append(m_DrawingZone); } else { - plot.removeItem(m_DrawingZone); // the item is deleted by QCustomPlot + plot.removeItem(m_DrawingZone); // the item is deleted by QCustomPlot } plot.replot(QCustomPlot::rpQueuedReplot); @@ -169,6 +169,7 @@ VisualizationGraphWidget::VisualizationGraphWidget(const QString &name, QWidget // - zoom is enabled // - Mouse wheel on qcpplot is intercepted to determine the zoom orientation ui->widget->setInteractions(QCP::iRangeZoom | QCP::iSelectItems); + ui->widget->axisRect()->setRangeDrag(Qt::Horizontal | Qt::Vertical); // The delegate must be initialized after the ui as it uses the plot impl->m_RenderingDelegate = std::make_unique(*this); @@ -653,6 +654,9 @@ void VisualizationGraphWidget::onMousePress(QMouseEvent *event) noexcept impl->startDrawingZone(event->pos(), plot()); } } + else if (sqpApp->plotsInteractionMode() == SqpApplication::PlotsInteractionMode::None) { + plot().setInteraction(QCP::iRangeDrag, true); + } // Allows mouse panning only in default mode plot().setInteraction(QCP::iRangeDrag, sqpApp->plotsInteractionMode()