##// END OF EJS Templates
Handles double click on color scale...
Alexandre Leroux -
r1043:4ab6e8aca534
parent child
Show More
@@ -18,6 +18,7 public:
18 18 /// @remarks the graph widget must exist throughout the life cycle of the delegate
19 19 explicit VisualizationGraphRenderingDelegate(VisualizationGraphWidget &graphWidget);
20 20
21 void onMouseDoubleClick(QMouseEvent *event) noexcept;
21 22 void onMouseMove(QMouseEvent *event) noexcept;
22 23
23 24 /// Sets properties of the plot's axes from the data series passed as parameter
@@ -104,6 +104,8 private slots:
104 104 /// Rescale the X axe to range parameter
105 105 void onRangeChanged(const QCPRange &t1, const QCPRange &t2);
106 106
107 /// Slot called when a mouse double click was made
108 void onMouseDoubleClick(QMouseEvent *event) noexcept;
107 109 /// Slot called when a mouse move was made
108 110 void onMouseMove(QMouseEvent *event) noexcept;
109 111 /// Slot called when a mouse wheel was made, to perform some processing before the zoom is done
@@ -1,5 +1,6
1 1 #include "Visualization/VisualizationGraphRenderingDelegate.h"
2 2 #include "Visualization/AxisRenderingUtils.h"
3 #include "Visualization/ColorScaleEditor.h"
3 4 #include "Visualization/PlottablesRenderingUtils.h"
4 5 #include "Visualization/VisualizationGraphWidget.h"
5 6 #include "Visualization/qcustomplot.h"
@@ -172,6 +173,15 VisualizationGraphRenderingDelegate::VisualizationGraphRenderingDelegate(
172 173 {
173 174 }
174 175
176 void VisualizationGraphRenderingDelegate::onMouseDoubleClick(QMouseEvent *event) noexcept
177 {
178 // Opens color scale editor if color scale is double clicked
179 if (auto colorScale
180 = dynamic_cast<QCPColorScale *>(impl->m_Plot.layoutElementAt(event->pos()))) {
181 ColorScaleEditor{}.exec();
182 }
183 }
184
175 185 void VisualizationGraphRenderingDelegate::onMouseMove(QMouseEvent *event) noexcept
176 186 {
177 187 // Cancels pending refresh
@@ -141,6 +141,8 VisualizationGraphWidget::VisualizationGraphWidget(const QString &name, QWidget
141 141 &VisualizationGraphWidget::onMouseRelease);
142 142 connect(ui->widget, &QCustomPlot::mouseMove, this, &VisualizationGraphWidget::onMouseMove);
143 143 connect(ui->widget, &QCustomPlot::mouseWheel, this, &VisualizationGraphWidget::onMouseWheel);
144 connect(ui->widget, &QCustomPlot::mouseDoubleClick, this,
145 &VisualizationGraphWidget::onMouseDoubleClick);
144 146 connect(ui->widget->xAxis, static_cast<void (QCPAxis::*)(const QCPRange &, const QCPRange &)>(
145 147 &QCPAxis::rangeChanged),
146 148 this, &VisualizationGraphWidget::onRangeChanged, Qt::DirectConnection);
@@ -476,6 +478,11 void VisualizationGraphWidget::onRangeChanged(const QCPRange &t1, const QCPRange
476 478 }
477 479 }
478 480
481 void VisualizationGraphWidget::onMouseDoubleClick(QMouseEvent *event) noexcept
482 {
483 impl->m_RenderingDelegate->onMouseDoubleClick(event);
484 }
485
479 486 void VisualizationGraphWidget::onMouseMove(QMouseEvent *event) noexcept
480 487 {
481 488 // Handles plot rendering when mouse is moving
General Comments 0
You need to be logged in to leave comments. Login now