##// END OF EJS Templates
Explicitly update GLWidget when we set new points...
Explicitly update GLWidget when we set new points QOpenGLWidget was modified to not trigger some extra paint calls, which charts used to rely on, so now we do explicit updates instead. Change-Id: Ibe06c2f88ac7efe4e61351d582f2eff9d350f073 Task-number: QTBUG-51000 Reviewed-by: Tomi Korpipää <tomi.korpipaa@theqtcompany.com> Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>

File last commit:

r2845:ae12522d475c
r2865:672ea1cb191f
Show More
declarativeareaseries.cpp
116 lines | 3.6 KiB | text/x-c | CppLexer
/ src / chartsqml2 / declarativeareaseries.cpp
/******************************************************************************
**
** Copyright (C) 2015 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Charts module.
**
** $QT_BEGIN_LICENSE:COMM$
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** $QT_END_LICENSE$
**
******************************************************************************/
#include "declarativeareaseries.h"
#include "declarativelineseries.h"
QT_CHARTS_BEGIN_NAMESPACE
DeclarativeAreaSeries::DeclarativeAreaSeries(QObject *parent) :
QAreaSeries(parent),
m_axes(new DeclarativeAxes(this))
{
connect(m_axes, SIGNAL(axisXChanged(QAbstractAxis*)), this, SIGNAL(axisXChanged(QAbstractAxis*)));
connect(m_axes, SIGNAL(axisYChanged(QAbstractAxis*)), this, SIGNAL(axisYChanged(QAbstractAxis*)));
connect(m_axes, SIGNAL(axisXTopChanged(QAbstractAxis*)), this, SIGNAL(axisXTopChanged(QAbstractAxis*)));
connect(m_axes, SIGNAL(axisYRightChanged(QAbstractAxis*)), this, SIGNAL(axisYRightChanged(QAbstractAxis*)));
connect(m_axes, SIGNAL(axisXChanged(QAbstractAxis*)), this, SIGNAL(axisAngularChanged(QAbstractAxis*)));
connect(m_axes, SIGNAL(axisYChanged(QAbstractAxis*)), this, SIGNAL(axisRadialChanged(QAbstractAxis*)));
connect(this, SIGNAL(brushChanged()), this, SLOT(handleBrushChanged()));
}
void DeclarativeAreaSeries::setUpperSeries(DeclarativeLineSeries *series)
{
QAreaSeries::setUpperSeries(series);
}
DeclarativeLineSeries *DeclarativeAreaSeries::upperSeries() const
{
return qobject_cast<DeclarativeLineSeries *>(QAreaSeries::upperSeries());
}
void DeclarativeAreaSeries::setLowerSeries(DeclarativeLineSeries *series)
{
QAreaSeries::setLowerSeries(series);
}
DeclarativeLineSeries *DeclarativeAreaSeries::lowerSeries() const
{
return qobject_cast<DeclarativeLineSeries *>(QAreaSeries::lowerSeries());
}
qreal DeclarativeAreaSeries::borderWidth() const
{
return pen().widthF();
}
void DeclarativeAreaSeries::setBorderWidth(qreal width)
{
if (width != pen().widthF()) {
QPen p = pen();
p.setWidthF(width);
setPen(p);
emit borderWidthChanged(width);
}
}
QString DeclarativeAreaSeries::brushFilename() const
{
return m_brushFilename;
}
void DeclarativeAreaSeries::setBrushFilename(const QString &brushFilename)
{
QImage brushImage(brushFilename);
if (QAreaSeries::brush().textureImage() != brushImage) {
QBrush brush = QAreaSeries::brush();
brush.setTextureImage(brushImage);
QAreaSeries::setBrush(brush);
m_brushFilename = brushFilename;
m_brushImage = brushImage;
emit brushFilenameChanged(brushFilename);
}
}
void DeclarativeAreaSeries::handleBrushChanged()
{
// If the texture image of the brush has changed along the brush
// the brush file name needs to be cleared.
if (!m_brushFilename.isEmpty() && QAreaSeries::brush().textureImage() != m_brushImage) {
m_brushFilename.clear();
emit brushFilenameChanged(QString(""));
}
}
void DeclarativeAreaSeries::setBrush(const QBrush &brush)
{
QAreaSeries::setBrush(brush);
emit brushChanged();
}
QBrush DeclarativeAreaSeries::brush() const
{
return QAreaSeries::brush();
}
#include "moc_declarativeareaseries.cpp"
QT_CHARTS_END_NAMESPACE