##// END OF EJS Templates
new legend example for testing new api. Currently using still the old one.
new legend example for testing new api. Currently using still the old one.

File last commit:

r2102:f689de612f59
r2162:abb4622b2dab
Show More
chartview.cpp
77 lines | 2.4 KiB | text/x-c | CppLexer
Jani Honkonen
Add/modify license headers
r830 /****************************************************************************
**
** Copyright (C) 2012 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 Commercial Charts Add-on.
**
** $QT_BEGIN_LICENSE$
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial 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$
**
****************************************************************************/
Tero Ahola
Tuned scatterinteractions example
r1026 #include "chartview.h"
Tero Ahola
Fixed coordinate bug with QScatterSeries::onClicked
r1410 #include <math.h>
#include <QDebug>
Tero Ahola
Clicked, remove and clear to QScatterSeries
r394
QTCOMMERCIALCHART_USE_NAMESPACE
Tero Ahola
Tuned scatterinteractions example
r1026 ChartView::ChartView(QWidget *parent)
: QChartView(new QChart(), parent),
m_scatter(0),
m_scatter2(0)
Tero Ahola
Clicked, remove and clear to QScatterSeries
r394 {
Tero Ahola
Tuned scatterinteractions example
r1026 setRenderHint(QPainter::Antialiasing);
chart()->setTitle("Click to interact with scatter points");
Tero Ahola
Clicked, remove and clear to QScatterSeries
r394
m_scatter = new QScatterSeries();
Tero Ahola
Named all series in example applications
r1226 m_scatter->setName("scatter1");
Jani Honkonen
coding style fixes for examples
r2098 for (qreal x(0.5); x <= 4.0; x += 0.5) {
for (qreal y(0.5); y <= 4.0; y += 0.5) {
Tero Ahola
Clicked, remove and clear to QScatterSeries
r394 *m_scatter << QPointF(x, y);
}
}
Tero Ahola
Tuned scatterinteractions example
r1026 m_scatter2 = new QScatterSeries();
Tero Ahola
Named all series in example applications
r1226 m_scatter2->setName("scatter2");
Tero Ahola
Clicked, remove and clear to QScatterSeries
r394
Tero Ahola
Tuned scatterinteractions example
r1026 chart()->addSeries(m_scatter2);
chart()->addSeries(m_scatter);
Marek Rosa
Scatter interactions fixed
r1620 chart()->createDefaultAxes();
Tero Ahola
Tuned scatterinteractions example
r1026 chart()->axisX()->setRange(0, 4.5);
chart()->axisY()->setRange(0, 4.5);
Tero Ahola
Clicked, remove and clear to QScatterSeries
r394
Michal Klocek
Normalizes signal slots connections
r967 connect(m_scatter, SIGNAL(clicked(QPointF)), this, SLOT(handleClickedPoint(QPointF)));
Tero Ahola
Clicked, remove and clear to QScatterSeries
r394 }
Tero Ahola
Tuned scatterinteractions example
r1026 ChartView::~ChartView()
Tero Ahola
Clicked, remove and clear to QScatterSeries
r394 {
}
Jani Honkonen
more coding style fixes for examples...
r2102 void ChartView::handleClickedPoint(const QPointF &point)
Tero Ahola
Clicked, remove and clear to QScatterSeries
r394 {
Tero Ahola
Fixed coordinate bug with QScatterSeries::onClicked
r1410 QPointF clickedPoint = point;
// Find the closest point from series 1
Tero Ahola
INT64_MAX -> INT_MAX in scatterinteractions example
r1412 QPointF closest(INT_MAX, INT_MAX);
qreal distance(INT_MAX);
Jani Honkonen
coding style: foreach whitespace fix
r2100 foreach (QPointF currentPoint, m_scatter->points()) {
Tero Ahola
Fixed coordinate bug with QScatterSeries::onClicked
r1410 qreal currentDistance = sqrt((currentPoint.x() - clickedPoint.x()) * (currentPoint.x() - clickedPoint.x())
Jani Honkonen
coding style fixes for examples
r2098 + (currentPoint.y() - clickedPoint.y()) * (currentPoint.y() - clickedPoint.y()));
Tero Ahola
Fixed coordinate bug with QScatterSeries::onClicked
r1410 if (currentDistance < distance) {
distance = currentDistance;
closest = currentPoint;
}
}
// Remove the closes point from series 1 and append it to series 2
m_scatter->remove(closest);
m_scatter2->append(closest);
Tero Ahola
Clicked, remove and clear to QScatterSeries
r394 }