summaryrefslogtreecommitdiffstats
path: root/examples/charts/chartsgallery/interactionsview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/charts/chartsgallery/interactionsview.cpp')
-rw-r--r--examples/charts/chartsgallery/interactionsview.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/examples/charts/chartsgallery/interactionsview.cpp b/examples/charts/chartsgallery/interactionsview.cpp
new file mode 100644
index 00000000..0bac0b77
--- /dev/null
+++ b/examples/charts/chartsgallery/interactionsview.cpp
@@ -0,0 +1,34 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#include "interactionschart.h"
+#include "interactionsview.h"
+
+#include <QMouseEvent>
+
+InteractionsView::InteractionsView(InteractionsChart *chart, QWidget *parent) :
+ QChartView(chart, parent)
+{
+ m_chart = chart;
+}
+
+void InteractionsView::mousePressEvent(QMouseEvent *event)
+{
+ m_mousePos = event->pos();
+ QChartView::mousePressEvent(event);
+}
+
+void InteractionsView::mouseMoveEvent(QMouseEvent *event)
+{
+ m_chart->handlePointMove(event->pos());
+ QChartView::mouseMoveEvent(event);
+}
+
+void InteractionsView::mouseReleaseEvent(QMouseEvent *event)
+{
+ if (event->pos() != m_mousePos) {
+ m_chart->handlePointMove(event->pos());
+ m_chart->setPointClicked(false);
+ }
+ QChartView::mouseReleaseEvent(event);
+}