##// END OF EJS Templates
Fix mouse event interception by scatter chart....
Fix mouse event interception by scatter chart. The scatter chart itself shouldn't be selectable. The scatter chart occupies the entire plot area of the chart, and therefore blocks mouse events from all items below it. Only the individual scatter markers need to be selectable. Change-Id: I664c16ced24e3fc4c068b850c8c612e2d797ee4b Reviewed-by: Titta Heikkala <titta.heikkala@theqtcompany.com>

File last commit:

r2740:377e4516d036
r2747:31ef05db7ba9
Show More
wavechart.cpp
67 lines | 1.8 KiB | text/x-c | CppLexer
Michal Klocek
minor. add missing license files
r875 /****************************************************************************
**
Titta Heikkala
Update copyright year...
r2688 ** Copyright (C) 2014 Digia Plc
Michal Klocek
minor. add missing license files
r875 ** All rights reserved.
Titta Heikkala
Updated license headers...
r2740 ** For any questions to Digia, please use contact form at http://qt.io
Michal Klocek
minor. add missing license files
r875 **
Titta Heikkala
Updated license headers...
r2740 ** This file is part of the Qt Charts module.
Michal Klocek
minor. add missing license files
r875 **
Titta Heikkala
Updated license headers...
r2740 ** Licensees holding valid commercial license for Qt may use this file in
** accordance with the Qt License Agreement provided with the Software
** or, alternatively, in accordance with the terms contained in a written
** agreement between you and Digia.
Michal Klocek
minor. add missing license files
r875 **
** If you have questions regarding the use of this file, please use
Titta Heikkala
Updated license headers...
r2740 ** contact form at http://qt.io
Michal Klocek
minor. add missing license files
r875 **
****************************************************************************/
Michal Klocek
Adds test/wavechart
r867 #include "wavechart.h"
#include <cmath>
Titta Heikkala
Qt Charts project file structure change...
r2712 QT_CHARTS_USE_NAMESPACE
Michal Klocek
Adds test/wavechart
r867
#define PI 3.14159265358979
static const int numPoints =100;
WaveChart::WaveChart(QChart* chart, QWidget* parent) :
QChartView(chart, parent),
m_series(new QLineSeries()),
m_wave(0),
m_step(2 * PI / numPoints)
{
QPen blue(Qt::blue);
blue.setWidth(3);
m_series->setPen(blue);
Marek Rosa
removed legend from wavechart and added axes to it
r1622 chart->legend()->setVisible(false);
Michal Klocek
Adds test/wavechart
r867 QTime now = QTime::currentTime();
qsrand((uint) now.msec());
int fluctuate = 100;
for (qreal x = 0; x <= 2 * PI; x += m_step) {
m_series->append(x, fabs(sin(x) * fluctuate));
}
chart->addSeries(m_series);
Marek Rosa
removed legend from wavechart and added axes to it
r1622 chart->createDefaultAxes();
Michal Klocek
Adds test/wavechart
r867
QObject::connect(&m_timer, SIGNAL(timeout()), this, SLOT(update()));
m_timer.setInterval(5000);
m_timer.start();
}
void WaveChart::update()
{
int fluctuate;
Michal Klocek
Fixes and improvments to series API...
r1057 const QList<QPointF>& points = m_series->points();
Michal Klocek
Adds test/wavechart
r867 for (qreal i = 0, x = 0; x <= 2 * PI; x += m_step, i++) {
fluctuate = qrand() % 100;
Michal Klocek
Fixes and improvments to series API...
r1057 m_series->replace(x,points[i].y(),x,fabs(sin(x) * fluctuate));
Michal Klocek
Adds test/wavechart
r867
}
}