summaryrefslogtreecommitdiffstats
path: root/demos/chartinteractions
diff options
context:
space:
mode:
Diffstat (limited to 'demos/chartinteractions')
-rw-r--r--demos/chartinteractions/chart.cpp101
-rw-r--r--demos/chartinteractions/chart.h53
-rw-r--r--demos/chartinteractions/chartinteractions.pro9
-rw-r--r--demos/chartinteractions/chartview.cpp50
-rw-r--r--demos/chartinteractions/chartview.h45
-rw-r--r--demos/chartinteractions/main.cpp74
6 files changed, 0 insertions, 332 deletions
diff --git a/demos/chartinteractions/chart.cpp b/demos/chartinteractions/chart.cpp
deleted file mode 100644
index 8aa2a443..00000000
--- a/demos/chartinteractions/chart.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc
-** All rights reserved.
-** For any questions to Digia, please use contact form at http://qt.digia.com
-**
-** This file is part of the Qt Enterprise Charts Add-on.
-**
-** $QT_BEGIN_LICENSE$
-** Licensees holding valid Qt Enterprise licenses may use this file in
-** accordance with the Qt Enterprise License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.
-**
-** If you have questions regarding the use of this file, please use
-** contact form at http://qt.digia.com
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "chart.h"
-#include <QValueAxis>
-#include <QAbstractAxis>
-#include <qmath.h>
-
-Chart::Chart(QGraphicsItem *parent, Qt::WindowFlags wFlags, QLineSeries *series)
- : QChart(QChart::ChartTypeCartesian, parent, wFlags), m_series(series)
-{
- m_clicked = false;
-}
-
-Chart::~Chart()
-{
-}
-
-void Chart::clickPoint(const QPointF &point)
-{
- // Find the closes data point
- m_movingPoint = QPoint();
- m_clicked = false;
- foreach (QPointF p, m_series->points()) {
- if (distance(p, point) < distance(m_movingPoint, point)) {
- m_movingPoint = p;
- m_clicked = true;
- }
- }
-}
-
-qreal Chart::distance(const QPointF &p1, const QPointF &p2)
-{
- return qSqrt((p1.x() - p2.x()) * (p1.x() - p2.x())
- + (p1.y() - p2.y()) * (p1.y() - p2.y()));
-}
-
-void Chart::setPointClicked(bool clicked)
-{
- m_clicked = clicked;
-}
-
-void Chart::handlePointMove(const QPoint &point)
-{
- if (m_clicked) {
- //Map the point clicked from the ChartView
- //to the area occupied by the chart.
- QPoint mappedPoint = point;
- mappedPoint.setX(point.x() - this->plotArea().x());
- mappedPoint.setY(point.y() - this->plotArea().y());
-
- //Get the x- and y axis to be able to convert the mapped
- //coordinate point to the charts scale.
- QAbstractAxis *axisx = this->axisX();
- QValueAxis *haxis = 0;
- if (axisx->type() == QAbstractAxis::AxisTypeValue)
- haxis = qobject_cast<QValueAxis *>(axisx);
-
- QAbstractAxis *axisy = this->axisY();
- QValueAxis *vaxis = 0;
- if (axisy->type() == QAbstractAxis::AxisTypeValue)
- vaxis = qobject_cast<QValueAxis *>(axisy);
-
- if (haxis && vaxis) {
- //Calculate the "unit" between points on the x
- //y axis.
- double xUnit = this->plotArea().width() / haxis->max();
- double yUnit = this->plotArea().height() / vaxis->max();
-
- //Convert the mappedPoint to the actual chart scale.
- double x = mappedPoint.x() / xUnit;
- double y = vaxis->max() - mappedPoint.y() / yUnit;
-
- //Replace the old point with the new one.
- m_series->replace(m_movingPoint, QPointF(x, y));
-
- //Update the m_movingPoint so we are able to
- //do the replace also during mousemoveEvent.
- m_movingPoint.setX(x);
- m_movingPoint.setY(y);
- }
- }
-}
-
diff --git a/demos/chartinteractions/chart.h b/demos/chartinteractions/chart.h
deleted file mode 100644
index 9d94f449..00000000
--- a/demos/chartinteractions/chart.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc
-** All rights reserved.
-** For any questions to Digia, please use contact form at http://qt.digia.com
-**
-** This file is part of the Qt Enterprise Charts Add-on.
-**
-** $QT_BEGIN_LICENSE$
-** Licensees holding valid Qt Enterprise licenses may use this file in
-** accordance with the Qt Enterprise License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.
-**
-** If you have questions regarding the use of this file, please use
-** contact form at http://qt.digia.com
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef CHART_H
-#define CHART_H
-
-#include <QChart>
-#include <QLineSeries>
-
-QTCOMMERCIALCHART_USE_NAMESPACE
-
-class Chart : public QChart
-{
- Q_OBJECT
-public:
- explicit Chart(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0, QLineSeries *series = 0);
- ~Chart();
-
-public slots:
- void clickPoint(const QPointF &point);
-
-public:
- void handlePointMove(const QPoint &point);
- void setPointClicked(bool clicked);
-
-private:
- qreal distance(const QPointF &p1, const QPointF &p2);
- QLineSeries *m_series;
- QPointF m_movingPoint;
-
- //Boolean value to determine if an actual point in the
- //series is clicked.
- bool m_clicked;
-};
-
-#endif // CHART_H
diff --git a/demos/chartinteractions/chartinteractions.pro b/demos/chartinteractions/chartinteractions.pro
deleted file mode 100644
index b00f2f43..00000000
--- a/demos/chartinteractions/chartinteractions.pro
+++ /dev/null
@@ -1,9 +0,0 @@
-!include( ../demos.pri ):error( "Couldn't find the demos.pri file!" )
-
-QT += core gui
-
-TARGET = chartinteractions
-TEMPLATE = app
-
-HEADERS += chart.h chartview.h
-SOURCES += main.cpp chart.cpp chartview.cpp
diff --git a/demos/chartinteractions/chartview.cpp b/demos/chartinteractions/chartview.cpp
deleted file mode 100644
index 95fae6cd..00000000
--- a/demos/chartinteractions/chartview.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc
-** All rights reserved.
-** For any questions to Digia, please use contact form at http://qt.digia.com
-**
-** This file is part of the Qt Enterprise Charts Add-on.
-**
-** $QT_BEGIN_LICENSE$
-** Licensees holding valid Qt Enterprise licenses may use this file in
-** accordance with the Qt Enterprise License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.
-**
-** If you have questions regarding the use of this file, please use
-** contact form at http://qt.digia.com
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "chartview.h"
-#include <QMouseEvent>
-#include "chart.h"
-
-ChartView::ChartView(Chart *chart, QWidget *parent) :
- QChartView(chart, parent)
-{
- m_chart = chart;
-}
-
-void ChartView::mousePressEvent(QMouseEvent *event)
-{
- m_mousePos = event->pos();
- QChartView::mousePressEvent(event);
-}
-
-void ChartView::mouseMoveEvent(QMouseEvent *event)
-{
- m_chart->handlePointMove(event->pos());
- QChartView::mouseMoveEvent(event);
-}
-
-void ChartView::mouseReleaseEvent(QMouseEvent *event)
-{
- if (event->pos() != m_mousePos) {
- m_chart->handlePointMove(event->pos());
- m_chart->setPointClicked(false);
- }
- QChartView::mouseReleaseEvent(event);
-}
diff --git a/demos/chartinteractions/chartview.h b/demos/chartinteractions/chartview.h
deleted file mode 100644
index 5623430d..00000000
--- a/demos/chartinteractions/chartview.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc
-** All rights reserved.
-** For any questions to Digia, please use contact form at http://qt.digia.com
-**
-** This file is part of the Qt Enterprise Charts Add-on.
-**
-** $QT_BEGIN_LICENSE$
-** Licensees holding valid Qt Enterprise licenses may use this file in
-** accordance with the Qt Enterprise License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.
-**
-** If you have questions regarding the use of this file, please use
-** contact form at http://qt.digia.com
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef CHARTVIEW_H
-#define CHARTVIEW_H
-
-#include <QChartView>
-
-class Chart;
-
-QTCOMMERCIALCHART_USE_NAMESPACE
-
-class ChartView : public QChartView
-{
-public:
- ChartView(Chart *chart, QWidget *parent = 0);
-
-protected:
- void mousePressEvent(QMouseEvent *event);
- void mouseMoveEvent(QMouseEvent *event);
- void mouseReleaseEvent(QMouseEvent *event);
-
-private:
- Chart *m_chart;
- QPoint m_mousePos;
-};
-
-#endif
diff --git a/demos/chartinteractions/main.cpp b/demos/chartinteractions/main.cpp
deleted file mode 100644
index 9e11d847..00000000
--- a/demos/chartinteractions/main.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc
-** All rights reserved.
-** For any questions to Digia, please use contact form at http://qt.digia.com
-**
-** This file is part of the Qt Enterprise Charts Add-on.
-**
-** $QT_BEGIN_LICENSE$
-** Licensees holding valid Qt Enterprise licenses may use this file in
-** accordance with the Qt Enterprise License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.
-**
-** If you have questions regarding the use of this file, please use
-** contact form at http://qt.digia.com
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QApplication>
-#include <QMainWindow>
-#include <QLineSeries>
-
-#include <QValueAxis>
-
-#include "chart.h"
-#include "chartview.h"
-
-QTCOMMERCIALCHART_USE_NAMESPACE
-
-int main(int argc, char *argv[])
-{
- QApplication a(argc, argv);
-
- QLineSeries *series = new QLineSeries();
-
- series->append(0, 6);
- series->append(1, 3);
- series->append(2, 4);
- series->append(3, 8);
- series->append(7, 13);
- series->append(10, 5);
- *series << QPointF(11, 1) << QPointF(13, 3) << QPointF(17, 6) << QPointF(18, 3) << QPointF(20, 2);
-
- Chart *chart = new Chart(0, 0, series);
- chart->legend()->hide();
- chart->addSeries(series);
- QPen p = series->pen();
- p.setWidth(5);
- series->setPen(p);
- chart->createDefaultAxes();
- chart->setTitle("Drag'n drop to move data points");
-
- QValueAxis *axisX = new QValueAxis();
- chart->setAxisX(axisX, series);
- axisX->setRange(0, 20);
-
- QValueAxis *axisY = new QValueAxis();
- chart->setAxisY(axisY, series);
- axisY->setRange(0, 13);
-
- QObject::connect(series, SIGNAL(clicked(QPointF)), chart, SLOT(clickPoint(QPointF)));
-
- ChartView *chartView = new ChartView(chart);
- chartView->setRenderHint(QPainter::Antialiasing);
-
- QMainWindow window;
- window.setCentralWidget(chartView);
- window.resize(400, 300);
- window.show();
-
- return a.exec();
-}