@@ -50,6 +50,14 void VisualizationGraphRenderingDelegate::onMouseMove(QMouseEvent *event) noexce | |||
|
50 | 50 | |
|
51 | 51 | auto showTracers = [ eventPos = event->pos(), this ]() |
|
52 | 52 | { |
|
53 | // Lambda function to display a tracer | |
|
54 | auto displayTracer = [this](auto &tracer) { | |
|
55 | // Tracer is set on top of the plot's main layer | |
|
56 | tracer.setLayer(impl->m_Plot.layer("main")); | |
|
57 | tracer.setVisible(true); | |
|
58 | impl->m_Plot.replot(); | |
|
59 | }; | |
|
60 | ||
|
53 | 61 | // Reinits tracers |
|
54 | 62 | impl->m_PointTracer->setGraph(nullptr); |
|
55 | 63 | impl->m_PointTracer->setVisible(false); |
@@ -67,6 +75,19 void VisualizationGraphRenderingDelegate::onMouseMove(QMouseEvent *event) noexce | |||
|
67 | 75 | auto key = formatValue(graphDataIt->key, *graph->keyAxis()); |
|
68 | 76 | auto value = formatValue(graphDataIt->value, *graph->valueAxis()); |
|
69 | 77 | impl->m_TextTracer->setText(TEXT_TRACER_FORMAT.arg(key, value)); |
|
78 | ||
|
79 | // Displays point tracer | |
|
80 | impl->m_PointTracer->setGraph(graph); | |
|
81 | impl->m_PointTracer->setGraphKey(mouseKey); | |
|
82 | displayTracer(*impl->m_PointTracer); | |
|
83 | ||
|
84 | // Displays text tracer | |
|
85 | auto tracerPosition = impl->m_TextTracer->position; | |
|
86 | tracerPosition->setAxes(graph->keyAxis(), graph->valueAxis()); | |
|
87 | tracerPosition->setCoords(impl->m_PointTracer->position->key(), | |
|
88 | impl->m_PointTracer->position->value()); | |
|
89 | displayTracer(*impl->m_TextTracer); | |
|
90 | } | |
|
70 | 91 | } |
|
71 | 92 | }; |
|
72 | 93 |
General Comments 0
You need to be logged in to leave comments.
Login now