summaryrefslogtreecommitdiffstats
path: root/examples/charts/callout/view.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@qt.io>2016-08-15 16:30:28 +0300
committerMiikka Heikkinen <miikka.heikkinen@qt.io>2016-08-16 06:47:44 +0000
commitc6d72bb6ebd860a38aac2e557bca330b0d5b1926 (patch)
tree2f4da0685db88710361e250214f928c39c029bcf /examples/charts/callout/view.cpp
parentcccd1b688333dcc5616e1fa48050c60a1a534421 (diff)
Fix resize handling in Callout example
Callouts are now positioned correctly when the chart is resized. Task-number: QTBUG-54492 Change-Id: I5660eb48e58348cc2d649b48965c342488294ae4 Reviewed-by: Mika Salmela <mika.salmela@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'examples/charts/callout/view.cpp')
-rw-r--r--examples/charts/callout/view.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/examples/charts/callout/view.cpp b/examples/charts/callout/view.cpp
index b413989e..4d1adb11 100644
--- a/examples/charts/callout/view.cpp
+++ b/examples/charts/callout/view.cpp
@@ -90,6 +90,8 @@ void View::resizeEvent(QResizeEvent *event)
m_chart->resize(event->size());
m_coordX->setPos(m_chart->size().width()/2 - 50, m_chart->size().height() - 20);
m_coordY->setPos(m_chart->size().width()/2 + 50, m_chart->size().height() - 20);
+ foreach (Callout *callout, m_callouts)
+ callout->updateGeometry();
}
QGraphicsView::resizeEvent(event);
}
@@ -103,6 +105,7 @@ void View::mouseMoveEvent(QMouseEvent *event)
void View::keepCallout()
{
+ m_callouts.append(m_tooltip);
m_tooltip = new Callout(m_chart);
}
@@ -113,10 +116,9 @@ void View::tooltip(QPointF point, bool state)
if (state) {
m_tooltip->setText(QString("X: %1 \nY: %2 ").arg(point.x()).arg(point.y()));
- QXYSeries *series = qobject_cast<QXYSeries *>(sender());
- m_tooltip->setAnchor(m_chart->mapToPosition(point, series));
- m_tooltip->setPos(m_chart->mapToPosition(point, series) + QPoint(10, -50));
+ m_tooltip->setAnchor(point);
m_tooltip->setZValue(11);
+ m_tooltip->updateGeometry();
m_tooltip->show();
} else {
m_tooltip->hide();