diff options
Diffstat (limited to 'examples/charts/chartsgallery/interactionsview.cpp')
-rw-r--r-- | examples/charts/chartsgallery/interactionsview.cpp | 34 |
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); +} |