summaryrefslogtreecommitdiffstats
path: root/src/datavisualizationqml2/declarativebars.cpp
diff options
context:
space:
mode:
authorKeränen Pasi <pasi.keranen@digia.com>2013-12-03 10:39:23 +0200
committerPasi Keränen <pasi.keranen@digia.com>2013-12-03 14:06:07 +0200
commit2af35db1a112c49991a80f48e3cd8d8814deb321 (patch)
tree69c7a37711f851473c87408ac446ae0c6dcff2c9 /src/datavisualizationqml2/declarativebars.cpp
parent5a3abb2517126239f1b916b7b0cbaaa624b1cb44 (diff)
Fixes to QML retina display issues.
Task-id: QTRD-2661 Change-Id: I05fa1d9c3d078a7ed552b2b225f0d9bb1c03a0aa Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualizationqml2/declarativebars.cpp')
-rw-r--r--src/datavisualizationqml2/declarativebars.cpp70
1 files changed, 23 insertions, 47 deletions
diff --git a/src/datavisualizationqml2/declarativebars.cpp b/src/datavisualizationqml2/declarativebars.cpp
index 91b338bd..905a842e 100644
--- a/src/datavisualizationqml2/declarativebars.cpp
+++ b/src/datavisualizationqml2/declarativebars.cpp
@@ -17,7 +17,7 @@
****************************************************************************/
#include "declarativebars_p.h"
-#include "declarativebarsrenderer_p.h"
+#include "declarativerenderer_p.h"
#include "q3dvalueaxis.h"
#include "qitemmodelbardataproxy.h"
@@ -25,8 +25,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
DeclarativeBars::DeclarativeBars(QQuickItem *parent)
: AbstractDeclarative(parent),
- m_shared(0),
- m_initialisedSize(0, 0)
+ m_barsController(0)
{
setFlags(QQuickItem::ItemHasContents);
setAcceptedMouseButtons(Qt::AllButtons);
@@ -36,110 +35,87 @@ DeclarativeBars::DeclarativeBars(QQuickItem *parent)
setSmooth(true);
// Create the shared component on the main GUI thread.
- m_shared = new Bars3DController(boundingRect().toRect());
- AbstractDeclarative::setSharedController(m_shared);
+ m_barsController = new Bars3DController(boundingRect().toRect());
+ AbstractDeclarative::setSharedController(m_barsController);
}
DeclarativeBars::~DeclarativeBars()
{
- delete m_shared;
-}
-
-QSGNode *DeclarativeBars::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *)
-{
- // If old node exists and has right size, reuse it.
- if (oldNode && m_initialisedSize == boundingRect().size().toSize()) {
- // Update bounding rectangle (that has same size as before).
- static_cast<DeclarativeBarsRenderer *>( oldNode )->setRect(boundingRect());
- return oldNode;
- }
-
- // Create a new render node when size changes or if there is no node yet
- m_initialisedSize = boundingRect().size().toSize();
-
- // Delete old node
- if (oldNode)
- delete oldNode;
-
- // Create a new one and set it's bounding rectangle
- DeclarativeBarsRenderer *node = new DeclarativeBarsRenderer(window(), m_shared);
- node->setRect(boundingRect());
- m_shared->setBoundingRect(boundingRect().toRect());
- return node;
+ delete m_barsController;
}
void DeclarativeBars::setBarColor(const QColor &baseColor)
{
- m_shared->setBaseColor(baseColor);
+ m_barsController->setBaseColor(baseColor);
}
Q3DCategoryAxis *DeclarativeBars::rowAxis() const
{
- return static_cast<Q3DCategoryAxis *>(m_shared->axisX());
+ return static_cast<Q3DCategoryAxis *>(m_barsController->axisX());
}
void DeclarativeBars::setRowAxis(Q3DCategoryAxis *axis)
{
- m_shared->setAxisX(axis);
+ m_barsController->setAxisX(axis);
}
Q3DValueAxis *DeclarativeBars::valueAxis() const
{
- return static_cast<Q3DValueAxis *>(m_shared->axisY());
+ return static_cast<Q3DValueAxis *>(m_barsController->axisY());
}
void DeclarativeBars::setValueAxis(Q3DValueAxis *axis)
{
- m_shared->setAxisY(axis);
+ m_barsController->setAxisY(axis);
}
Q3DCategoryAxis *DeclarativeBars::columnAxis() const
{
- return static_cast<Q3DCategoryAxis *>(m_shared->axisZ());
+ return static_cast<Q3DCategoryAxis *>(m_barsController->axisZ());
}
void DeclarativeBars::setColumnAxis(Q3DCategoryAxis *axis)
{
- m_shared->setAxisZ(axis);
+ m_barsController->setAxisZ(axis);
}
void DeclarativeBars::setBarThickness(float thicknessRatio)
{
if (thicknessRatio != barThickness()) {
- m_shared->setBarSpecs(GLfloat(thicknessRatio), barSpacing(), isBarSpacingRelative());
+ m_barsController->setBarSpecs(GLfloat(thicknessRatio), barSpacing(), isBarSpacingRelative());
emit barThicknessChanged(thicknessRatio);
}
}
float DeclarativeBars::barThickness() const
{
- return m_shared->barThickness();
+ return m_barsController->barThickness();
}
void DeclarativeBars::setBarSpacing(QSizeF spacing)
{
if (spacing != barSpacing()) {
- m_shared->setBarSpecs(GLfloat(barThickness()), spacing, isBarSpacingRelative());
+ m_barsController->setBarSpecs(GLfloat(barThickness()), spacing, isBarSpacingRelative());
emit barSpacingChanged(spacing);
}
}
QSizeF DeclarativeBars::barSpacing() const
{
- return m_shared->barSpacing();
+ return m_barsController->barSpacing();
}
void DeclarativeBars::setBarSpacingRelative(bool relative)
{
if (relative != isBarSpacingRelative()) {
- m_shared->setBarSpecs(GLfloat(barThickness()), barSpacing(), relative);
+ m_barsController->setBarSpecs(GLfloat(barThickness()), barSpacing(), relative);
emit barSpacingRelativeChanged(relative);
}
}
bool DeclarativeBars::isBarSpacingRelative() const
{
- return m_shared->isBarSpecRelative();
+ return m_barsController->isBarSpecRelative();
}
QQmlListProperty<QBar3DSeries> DeclarativeBars::seriesList()
@@ -158,18 +134,18 @@ void DeclarativeBars::appendSeriesFunc(QQmlListProperty<QBar3DSeries> *list, QBa
int DeclarativeBars::countSeriesFunc(QQmlListProperty<QBar3DSeries> *list)
{
- return reinterpret_cast<DeclarativeBars *>(list->data)->m_shared->barSeriesList().size();
+ return reinterpret_cast<DeclarativeBars *>(list->data)->m_barsController->barSeriesList().size();
}
QBar3DSeries *DeclarativeBars::atSeriesFunc(QQmlListProperty<QBar3DSeries> *list, int index)
{
- return reinterpret_cast<DeclarativeBars *>(list->data)->m_shared->barSeriesList().at(index);
+ return reinterpret_cast<DeclarativeBars *>(list->data)->m_barsController->barSeriesList().at(index);
}
void DeclarativeBars::clearSeriesFunc(QQmlListProperty<QBar3DSeries> *list)
{
DeclarativeBars *declBars = reinterpret_cast<DeclarativeBars *>(list->data);
- QList<QBar3DSeries *> realList = declBars->m_shared->barSeriesList();
+ QList<QBar3DSeries *> realList = declBars->m_barsController->barSeriesList();
int count = realList.size();
for (int i = 0; i < count; i++)
declBars->removeSeries(realList.at(i));
@@ -177,12 +153,12 @@ void DeclarativeBars::clearSeriesFunc(QQmlListProperty<QBar3DSeries> *list)
void DeclarativeBars::addSeries(QBar3DSeries *series)
{
- m_shared->addSeries(series);
+ m_barsController->addSeries(series);
}
void DeclarativeBars::removeSeries(QBar3DSeries *series)
{
- m_shared->removeSeries(series);
+ m_barsController->removeSeries(series);
series->setParent(this); // Reparent as removing will leave series parentless
}