summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc6
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc6
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc6
-rw-r--r--src/datavisualization/engine/abstract3dcontroller.cpp18
-rw-r--r--src/datavisualization/engine/abstract3dcontroller_p.h3
-rw-r--r--src/datavisualization/engine/q3dbars.cpp36
-rw-r--r--src/datavisualization/engine/q3dbars.h6
-rw-r--r--src/datavisualization/engine/q3dbars_p.h4
-rw-r--r--src/datavisualization/engine/q3dscatter.cpp33
-rw-r--r--src/datavisualization/engine/q3dscatter.h9
-rw-r--r--src/datavisualization/engine/q3dscatter_p.h4
-rw-r--r--src/datavisualization/engine/q3dsurface.cpp27
-rw-r--r--src/datavisualization/engine/q3dsurface.h9
-rw-r--r--src/datavisualization/engine/q3dsurface_p.h4
-rw-r--r--src/datavisualization/engine/qabstract3dgraph.cpp57
-rw-r--r--src/datavisualization/engine/qabstract3dgraph_p.h9
-rw-r--r--src/datavisualizationqml2/abstractdeclarative.cpp7
-rw-r--r--src/datavisualizationqml2/abstractdeclarative_p.h5
-rw-r--r--src/datavisualizationqml2/declarativebars.cpp27
-rw-r--r--src/datavisualizationqml2/declarativebars_p.h5
-rw-r--r--src/datavisualizationqml2/declarativescatter.cpp27
-rw-r--r--src/datavisualizationqml2/declarativescatter_p.h5
-rw-r--r--src/datavisualizationqml2/declarativesurface.cpp27
-rw-r--r--src/datavisualizationqml2/declarativesurface_p.h5
-rw-r--r--tests/barstest/chart.cpp21
-rw-r--r--tests/barstest/chart.h4
-rw-r--r--tests/multigraphs/data.cpp2
-rw-r--r--tests/qmlmultigraph/qml/qmlmultigraph/main.qml48
-rw-r--r--tests/scattertest/scatterchart.cpp22
-rw-r--r--tests/scattertest/scatterchart.h4
-rw-r--r--tests/surfacetest/graphmodifier.cpp22
-rw-r--r--tests/surfacetest/graphmodifier.h4
32 files changed, 373 insertions, 99 deletions
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc
index edeb5530..7bd30867 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc
@@ -46,7 +46,7 @@
/*!
* \qmlproperty CategoryAxis3D Bars3D::rowAxis
- * A user-defined row axis.
+ * The active row axis.
*
* If an axis is not given, a temporary default axis with no labels is created.
* This temporary axis is destroyed if another axis is explicitly set to same orientation.
@@ -54,7 +54,7 @@
/*!
* \qmlproperty ValueAxis3D Bars3D::valueAxis
- * A user-defined value axis.
+ * The active value axis.
*
* If an axis is not given, a temporary default axis with no labels and automatically adjusting
* range is created.
@@ -63,7 +63,7 @@
/*!
* \qmlproperty CategoryAxis3D Bars3D::columnAxis
- * A user-defined column axis.
+ * The active column axis.
*
* If an axis is not given, a temporary default axis with no labels is created.
* This temporary axis is destroyed if another axis is explicitly set to same orientation.
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc
index 0a8e1674..6d113654 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc
@@ -46,7 +46,7 @@
/*!
\qmlproperty ValueAxis3D Scatter3D::axisX
- A user-defined X axis.
+ The active X axis.
If an axis is not given, a temporary default axis with no labels and automatically adjusting
range is created.
@@ -55,7 +55,7 @@
/*!
\qmlproperty ValueAxis3D Scatter3D::axisY
- A user-defined Y axis.
+ The active Y axis.
If an axis is not given, a temporary default axis with no labels and automatically adjusting
range is created.
@@ -64,7 +64,7 @@
/*!
\qmlproperty ValueAxis3D Scatter3D::axisZ
- A user-defined Z axis.
+ The active Z axis.
If an axis is not given, a temporary default axis with no labels and automatically adjusting
range is created.
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc
index b28d30a7..d2a3a71b 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc
@@ -46,7 +46,7 @@
/*!
\qmlproperty ValueAxis3D Surface3D::axisX
- A user-defined X axis.
+ The active X axis.
If an axis is not given, a temporary default axis with no labels and automatically adjusting
range is created.
@@ -55,7 +55,7 @@
/*!
\qmlproperty ValueAxis3D Surface3D::axisY
- A user-defined Y axis.
+ The active Y axis.
If an axis is not given, a temporary default axis with no labels and automatically adjusting
range is created.
@@ -64,7 +64,7 @@
/*!
\qmlproperty ValueAxis3D Surface3D::axisZ
- A user-defined Z axis.
+ The active Z axis.
If an axis is not given, a temporary default axis with no labels and automatically adjusting
range is created.
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp
index 43d7a6d5..14585679 100644
--- a/src/datavisualization/engine/abstract3dcontroller.cpp
+++ b/src/datavisualization/engine/abstract3dcontroller.cpp
@@ -464,7 +464,11 @@ void Abstract3DController::handleThemeTypeChanged(Q3DTheme::Theme theme)
void Abstract3DController::setAxisX(QAbstract3DAxis *axis)
{
- setAxisHelper(QAbstract3DAxis::AxisOrientationX, axis, &m_axisX);
+ // Setting null axis will always create new default axis
+ if (!axis || axis != m_axisX) {
+ setAxisHelper(QAbstract3DAxis::AxisOrientationX, axis, &m_axisX);
+ emit axisXChanged(m_axisX);
+ }
}
QAbstract3DAxis *Abstract3DController::axisX()
@@ -474,7 +478,11 @@ QAbstract3DAxis *Abstract3DController::axisX()
void Abstract3DController::setAxisY(QAbstract3DAxis *axis)
{
- setAxisHelper(QAbstract3DAxis::AxisOrientationY, axis, &m_axisY);
+ // Setting null axis will always create new default axis
+ if (!axis || axis != m_axisY) {
+ setAxisHelper(QAbstract3DAxis::AxisOrientationY, axis, &m_axisY);
+ emit axisYChanged(m_axisY);
+ }
}
QAbstract3DAxis *Abstract3DController::axisY()
@@ -484,7 +492,11 @@ QAbstract3DAxis *Abstract3DController::axisY()
void Abstract3DController::setAxisZ(QAbstract3DAxis *axis)
{
- setAxisHelper(QAbstract3DAxis::AxisOrientationZ, axis, &m_axisZ);
+ // Setting null axis will always create new default axis
+ if (!axis || axis != m_axisZ) {
+ setAxisHelper(QAbstract3DAxis::AxisOrientationZ, axis, &m_axisZ);
+ emit axisZChanged(m_axisZ);
+ }
}
QAbstract3DAxis *Abstract3DController::axisZ()
diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h
index 1e64d05a..0f951e5a 100644
--- a/src/datavisualization/engine/abstract3dcontroller_p.h
+++ b/src/datavisualization/engine/abstract3dcontroller_p.h
@@ -261,6 +261,9 @@ signals:
void activeThemeChanged(Q3DTheme *activeTheme);
void selectionModeChanged(QDataVis::SelectionFlags mode);
void needRender();
+ void axisXChanged(QAbstract3DAxis *axis);
+ void axisYChanged(QAbstract3DAxis *axis);
+ void axisZChanged(QAbstract3DAxis *axis);
protected:
virtual QAbstract3DAxis *createDefaultAxis(QAbstract3DAxis::AxisOrientation orientation);
diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp
index d9e265a1..51ba8dbf 100644
--- a/src/datavisualization/engine/q3dbars.cpp
+++ b/src/datavisualization/engine/q3dbars.cpp
@@ -200,7 +200,9 @@ bool Q3DBars::isBarSpacingRelative()
}
/*!
- * Sets a user-defined row \a axis. Implicitly calls addAxis() to transfer ownership of
+ * \property Q3DBars::rowAxis
+ *
+ * The active row \a axis. Implicitly calls addAxis() to transfer ownership of
* the \a axis to this graph.
*
* If the \a axis is null, a temporary default axis with no labels is created.
@@ -213,16 +215,15 @@ void Q3DBars::setRowAxis(QCategory3DAxis *axis)
dptr()->m_shared->setAxisZ(axis);
}
-/*!
- * \return category axis for rows.
- */
QCategory3DAxis *Q3DBars::rowAxis() const
{
return static_cast<QCategory3DAxis *>(dptrc()->m_shared->axisZ());
}
/*!
- * Sets a user-defined column \a axis. Implicitly calls addAxis() to transfer ownership of
+ * \property Q3DBars::columnAxis
+ *
+ * The active column \a axis. Implicitly calls addAxis() to transfer ownership of
* the \a axis to this graph.
*
* If the \a axis is null, a temporary default axis with no labels is created.
@@ -235,16 +236,15 @@ void Q3DBars::setColumnAxis(QCategory3DAxis *axis)
dptr()->m_shared->setAxisX(axis);
}
-/*!
- * \return category axis for columns.
- */
QCategory3DAxis *Q3DBars::columnAxis() const
{
return static_cast<QCategory3DAxis *>(dptrc()->m_shared->axisX());
}
/*!
- * Sets a user-defined value \a axis (the Y-axis). Implicitly calls addAxis() to transfer ownership
+ * \property Q3DBars::valueAxis
+ *
+ * The active value \a axis (the Y-axis). Implicitly calls addAxis() to transfer ownership
* of the \a axis to this graph.
*
* If the \a axis is null, a temporary default axis with no labels and automatically adjusting
@@ -258,9 +258,6 @@ void Q3DBars::setValueAxis(QValue3DAxis *axis)
dptr()->m_shared->setAxisY(axis);
}
-/*!
- * \return used value axis (Y-axis).
- */
QValue3DAxis *Q3DBars::valueAxis() const
{
return static_cast<QValue3DAxis *>(dptrc()->m_shared->axisY());
@@ -320,6 +317,21 @@ Q3DBarsPrivate::~Q3DBarsPrivate()
{
}
+void Q3DBarsPrivate::handleAxisXChanged(QAbstract3DAxis *axis)
+{
+ emit qptr()->columnAxisChanged(static_cast<QCategory3DAxis *>(axis));
+}
+
+void Q3DBarsPrivate::handleAxisYChanged(QAbstract3DAxis *axis)
+{
+ emit qptr()->valueAxisChanged(static_cast<QValue3DAxis *>(axis));
+}
+
+void Q3DBarsPrivate::handleAxisZChanged(QAbstract3DAxis *axis)
+{
+ emit qptr()->rowAxisChanged(static_cast<QCategory3DAxis *>(axis));
+}
+
Q3DBars *Q3DBarsPrivate::qptr()
{
return static_cast<Q3DBars *>(q_ptr);
diff --git a/src/datavisualization/engine/q3dbars.h b/src/datavisualization/engine/q3dbars.h
index 80cd1ba4..16c16e93 100644
--- a/src/datavisualization/engine/q3dbars.h
+++ b/src/datavisualization/engine/q3dbars.h
@@ -38,6 +38,9 @@ class QT_DATAVISUALIZATION_EXPORT Q3DBars : public QAbstract3DGraph
Q_PROPERTY(float barThickness READ barThickness WRITE setBarThickness NOTIFY barThicknessChanged)
Q_PROPERTY(QSizeF barSpacing READ barSpacing WRITE setBarSpacing NOTIFY barSpacingChanged)
Q_PROPERTY(bool barSpacingRelative READ isBarSpacingRelative WRITE setBarSpacingRelative NOTIFY barSpacingRelativeChanged)
+ Q_PROPERTY(QCategory3DAxis *rowAxis READ rowAxis WRITE setRowAxis NOTIFY rowAxisChanged)
+ Q_PROPERTY(QCategory3DAxis *columnAxis READ columnAxis WRITE setColumnAxis NOTIFY columnAxisChanged)
+ Q_PROPERTY(QValue3DAxis *valueAxis READ valueAxis WRITE setValueAxis NOTIFY valueAxisChanged)
public:
explicit Q3DBars(QWindow *parent = 0);
@@ -70,6 +73,9 @@ signals:
void barThicknessChanged(float thicknessRatio);
void barSpacingChanged(QSizeF spacing);
void barSpacingRelativeChanged(bool relative);
+ void rowAxisChanged(QCategory3DAxis *axis);
+ void columnAxisChanged(QCategory3DAxis *axis);
+ void valueAxisChanged(QValue3DAxis *axis);
private:
Q3DBarsPrivate *dptr();
diff --git a/src/datavisualization/engine/q3dbars_p.h b/src/datavisualization/engine/q3dbars_p.h
index 6bb90b40..37ae3d70 100644
--- a/src/datavisualization/engine/q3dbars_p.h
+++ b/src/datavisualization/engine/q3dbars_p.h
@@ -44,6 +44,10 @@ public:
Q3DBarsPrivate(Q3DBars *q);
~Q3DBarsPrivate();
+ void handleAxisXChanged(QAbstract3DAxis *axis);
+ void handleAxisYChanged(QAbstract3DAxis *axis);
+ void handleAxisZChanged(QAbstract3DAxis *axis);
+
Q3DBars *qptr();
Bars3DController *m_shared;
diff --git a/src/datavisualization/engine/q3dscatter.cpp b/src/datavisualization/engine/q3dscatter.cpp
index c71ce795..9f4f1af8 100644
--- a/src/datavisualization/engine/q3dscatter.cpp
+++ b/src/datavisualization/engine/q3dscatter.cpp
@@ -132,7 +132,9 @@ const Q3DScatterPrivate *Q3DScatter::dptrc() const
}
/*!
- * Sets a user-defined X-axis. Implicitly calls addAxis() to transfer ownership
+ * \property Q3DScatter::axisX
+ *
+ * The active X-axis. Implicitly calls addAxis() to transfer ownership
* of the \a axis to this graph.
*
* If the \a axis is null, a temporary default axis with no labels and automatically adjusting
@@ -146,16 +148,15 @@ void Q3DScatter::setAxisX(QValue3DAxis *axis)
dptr()->m_shared->setAxisX(axis);
}
-/*!
- * \return used X-axis.
- */
QValue3DAxis *Q3DScatter::axisX() const
{
return static_cast<QValue3DAxis *>(dptrc()->m_shared->axisX());
}
/*!
- * Sets a user-defined Y-axis. Implicitly calls addAxis() to transfer ownership
+ * \property Q3DScatter::axisY
+ *
+ * The active Y-axis. Implicitly calls addAxis() to transfer ownership
* of the \a axis to this graph.
*
* If the \a axis is null, a temporary default axis with no labels and automatically adjusting
@@ -169,16 +170,15 @@ void Q3DScatter::setAxisY(QValue3DAxis *axis)
dptr()->m_shared->setAxisY(axis);
}
-/*!
- * \return used Y-axis.
- */
QValue3DAxis *Q3DScatter::axisY() const
{
return static_cast<QValue3DAxis *>(dptrc()->m_shared->axisY());
}
/*!
- * Sets a user-defined Z-axis. Implicitly calls addAxis() to transfer ownership
+ * \property Q3DScatter::axisZ
+ *
+ * The active Z-axis. Implicitly calls addAxis() to transfer ownership
* of the \a axis to this graph.
*
* If the \a axis is null, a temporary default axis with no labels and automatically adjusting
@@ -249,6 +249,21 @@ Q3DScatterPrivate::~Q3DScatterPrivate()
{
}
+void Q3DScatterPrivate::handleAxisXChanged(QAbstract3DAxis *axis)
+{
+ emit qptr()->axisXChanged(static_cast<QValue3DAxis *>(axis));
+}
+
+void Q3DScatterPrivate::handleAxisYChanged(QAbstract3DAxis *axis)
+{
+ emit qptr()->axisYChanged(static_cast<QValue3DAxis *>(axis));
+}
+
+void Q3DScatterPrivate::handleAxisZChanged(QAbstract3DAxis *axis)
+{
+ emit qptr()->axisZChanged(static_cast<QValue3DAxis *>(axis));
+}
+
Q3DScatter *Q3DScatterPrivate::qptr()
{
return static_cast<Q3DScatter *>(q_ptr);
diff --git a/src/datavisualization/engine/q3dscatter.h b/src/datavisualization/engine/q3dscatter.h
index 8a94864e..cdea32fd 100644
--- a/src/datavisualization/engine/q3dscatter.h
+++ b/src/datavisualization/engine/q3dscatter.h
@@ -35,6 +35,10 @@ class QScatter3DSeries;
class QT_DATAVISUALIZATION_EXPORT Q3DScatter : public QAbstract3DGraph
{
Q_OBJECT
+ Q_PROPERTY(QValue3DAxis *axisX READ axisX WRITE setAxisX NOTIFY axisXChanged)
+ Q_PROPERTY(QValue3DAxis *axisY READ axisY WRITE setAxisY NOTIFY axisYChanged)
+ Q_PROPERTY(QValue3DAxis *axisZ READ axisZ WRITE setAxisZ NOTIFY axisZChanged)
+
public:
explicit Q3DScatter(QWindow *parent = 0);
virtual ~Q3DScatter();
@@ -53,6 +57,11 @@ public:
void releaseAxis(QValue3DAxis *axis);
QList<QValue3DAxis *> axes() const;
+signals:
+ void axisXChanged(QValue3DAxis *axis);
+ void axisYChanged(QValue3DAxis *axis);
+ void axisZChanged(QValue3DAxis *axis);
+
private:
Q3DScatterPrivate *dptr();
const Q3DScatterPrivate *dptrc() const;
diff --git a/src/datavisualization/engine/q3dscatter_p.h b/src/datavisualization/engine/q3dscatter_p.h
index e8140c04..ab547e52 100644
--- a/src/datavisualization/engine/q3dscatter_p.h
+++ b/src/datavisualization/engine/q3dscatter_p.h
@@ -44,6 +44,10 @@ public:
Q3DScatterPrivate(Q3DScatter *q);
~Q3DScatterPrivate();
+ void handleAxisXChanged(QAbstract3DAxis *axis);
+ void handleAxisYChanged(QAbstract3DAxis *axis);
+ void handleAxisZChanged(QAbstract3DAxis *axis);
+
Q3DScatter *qptr();
Scatter3DController *m_shared;
diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp
index 0b09aba4..ad236220 100644
--- a/src/datavisualization/engine/q3dsurface.cpp
+++ b/src/datavisualization/engine/q3dsurface.cpp
@@ -147,7 +147,9 @@ const Q3DSurfacePrivate *Q3DSurface::dptrc() const
}
/*!
- * Sets a user-defined X-axis. Implicitly calls addAxis() to transfer ownership
+ * \property Q3DSurface::axisX
+ *
+ * The active X-axis. Implicitly calls addAxis() to transfer ownership
* of the \a axis to this graph.
*
* If the \a axis is null, a temporary default axis with no labels and automatically adjusting
@@ -170,7 +172,9 @@ QValue3DAxis *Q3DSurface::axisX() const
}
/*!
- * Sets a user-defined Y-axis. Implicitly calls addAxis() to transfer ownership
+ * \property Q3DSurface::axisY
+ *
+ * The active Y-axis. Implicitly calls addAxis() to transfer ownership
* of the \a axis to this graph.
*
* If the \a axis is null, a temporary default axis with no labels and automatically adjusting
@@ -193,7 +197,9 @@ QValue3DAxis *Q3DSurface::axisY() const
}
/*!
- * Sets a user-defined Z-axis. Implicitly calls addAxis() to transfer ownership
+ * \property Q3DSurface::axisZ
+ *
+ * The active Z-axis. Implicitly calls addAxis() to transfer ownership
* of the \a axis to this graph.
*
* If the \a axis is null, a temporary default axis with no labels and automatically adjusting
@@ -266,6 +272,21 @@ Q3DSurfacePrivate::~Q3DSurfacePrivate()
{
}
+void Q3DSurfacePrivate::handleAxisXChanged(QAbstract3DAxis *axis)
+{
+ emit qptr()->axisXChanged(static_cast<QValue3DAxis *>(axis));
+}
+
+void Q3DSurfacePrivate::handleAxisYChanged(QAbstract3DAxis *axis)
+{
+ emit qptr()->axisYChanged(static_cast<QValue3DAxis *>(axis));
+}
+
+void Q3DSurfacePrivate::handleAxisZChanged(QAbstract3DAxis *axis)
+{
+ emit qptr()->axisZChanged(static_cast<QValue3DAxis *>(axis));
+}
+
Q3DSurface *Q3DSurfacePrivate::qptr()
{
return static_cast<Q3DSurface *>(q_ptr);
diff --git a/src/datavisualization/engine/q3dsurface.h b/src/datavisualization/engine/q3dsurface.h
index 4d6bcf5e..fd09e600 100644
--- a/src/datavisualization/engine/q3dsurface.h
+++ b/src/datavisualization/engine/q3dsurface.h
@@ -33,6 +33,10 @@ class QSurface3DSeries;
class QT_DATAVISUALIZATION_EXPORT Q3DSurface : public QAbstract3DGraph
{
Q_OBJECT
+ Q_PROPERTY(QValue3DAxis *axisX READ axisX WRITE setAxisX NOTIFY axisXChanged)
+ Q_PROPERTY(QValue3DAxis *axisY READ axisY WRITE setAxisY NOTIFY axisYChanged)
+ Q_PROPERTY(QValue3DAxis *axisZ READ axisZ WRITE setAxisZ NOTIFY axisZChanged)
+
public:
explicit Q3DSurface(QWindow *parent = 0);
virtual ~Q3DSurface();
@@ -52,6 +56,11 @@ public:
void releaseAxis(QValue3DAxis *axis);
QList<QValue3DAxis *> axes() const;
+signals:
+ void axisXChanged(QValue3DAxis *axis);
+ void axisYChanged(QValue3DAxis *axis);
+ void axisZChanged(QValue3DAxis *axis);
+
private:
Q3DSurfacePrivate *dptr();
const Q3DSurfacePrivate *dptrc() const;
diff --git a/src/datavisualization/engine/q3dsurface_p.h b/src/datavisualization/engine/q3dsurface_p.h
index b1284453..0cbb6997 100644
--- a/src/datavisualization/engine/q3dsurface_p.h
+++ b/src/datavisualization/engine/q3dsurface_p.h
@@ -46,6 +46,10 @@ public:
Q3DSurfacePrivate(Q3DSurface *q);
~Q3DSurfacePrivate();
+ void handleAxisXChanged(QAbstract3DAxis *axis);
+ void handleAxisYChanged(QAbstract3DAxis *axis);
+ void handleAxisZChanged(QAbstract3DAxis *axis);
+
Q3DSurface *qptr();
Surface3DController *m_shared;
diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp
index 3a7fc84b..f17319d5 100644
--- a/src/datavisualization/engine/qabstract3dgraph.cpp
+++ b/src/datavisualization/engine/qabstract3dgraph.cpp
@@ -367,6 +367,38 @@ QAbstract3DGraphPrivate::~QAbstract3DGraphPrivate()
delete m_visualController;
}
+void QAbstract3DGraphPrivate::setVisualController(Abstract3DController *controller)
+{
+ m_visualController = controller;
+
+ QObject::connect(m_visualController, &Abstract3DController::activeInputHandlerChanged, q_ptr,
+ &QAbstract3DGraph::activeInputHandlerChanged);
+ QObject::connect(m_visualController, &Abstract3DController::activeThemeChanged, q_ptr,
+ &QAbstract3DGraph::activeThemeChanged);
+ QObject::connect(m_visualController, &Abstract3DController::selectionModeChanged, q_ptr,
+ &QAbstract3DGraph::selectionModeChanged);
+ QObject::connect(m_visualController, &Abstract3DController::shadowQualityChanged, q_ptr,
+ &QAbstract3DGraph::shadowQualityChanged);
+ QObject::connect(m_visualController, &Abstract3DController::needRender, this,
+ &QAbstract3DGraphPrivate::renderLater);
+
+ QObject::connect(m_visualController, &Abstract3DController::axisXChanged, this,
+ &QAbstract3DGraphPrivate::handleAxisXChanged);
+ QObject::connect(m_visualController, &Abstract3DController::axisYChanged, this,
+ &QAbstract3DGraphPrivate::handleAxisYChanged);
+ QObject::connect(m_visualController, &Abstract3DController::axisZChanged, this,
+ &QAbstract3DGraphPrivate::handleAxisZChanged);
+}
+
+void QAbstract3DGraphPrivate::handleDevicePixelRatioChange()
+{
+ if (q_ptr->devicePixelRatio() == m_devicePixelRatio || !m_visualController)
+ return;
+
+ m_devicePixelRatio = q_ptr->devicePixelRatio();
+ m_visualController->scene()->setDevicePixelRatio(m_devicePixelRatio);
+}
+
void QAbstract3DGraphPrivate::render()
{
handleDevicePixelRatioChange();
@@ -396,29 +428,4 @@ void QAbstract3DGraphPrivate::renderNow()
m_context->swapBuffers(q_ptr);
}
-void QAbstract3DGraphPrivate::setVisualController(Abstract3DController *controller)
-{
- m_visualController = controller;
-
- QObject::connect(m_visualController, &Abstract3DController::activeInputHandlerChanged, q_ptr,
- &QAbstract3DGraph::activeInputHandlerChanged);
- QObject::connect(m_visualController, &Abstract3DController::activeThemeChanged, q_ptr,
- &QAbstract3DGraph::activeThemeChanged);
- QObject::connect(m_visualController, &Abstract3DController::selectionModeChanged, q_ptr,
- &QAbstract3DGraph::selectionModeChanged);
- QObject::connect(m_visualController, &Abstract3DController::shadowQualityChanged, q_ptr,
- &QAbstract3DGraph::shadowQualityChanged);
- QObject::connect(m_visualController, &Abstract3DController::needRender, this,
- &QAbstract3DGraphPrivate::renderLater);
-}
-
-void QAbstract3DGraphPrivate::handleDevicePixelRatioChange()
-{
- if (q_ptr->devicePixelRatio() == m_devicePixelRatio || !m_visualController)
- return;
-
- m_devicePixelRatio = q_ptr->devicePixelRatio();
- m_visualController->scene()->setDevicePixelRatio(m_devicePixelRatio);
-}
-
QT_DATAVISUALIZATION_END_NAMESPACE
diff --git a/src/datavisualization/engine/qabstract3dgraph_p.h b/src/datavisualization/engine/qabstract3dgraph_p.h
index 18e88c92..e1ccab92 100644
--- a/src/datavisualization/engine/qabstract3dgraph_p.h
+++ b/src/datavisualization/engine/qabstract3dgraph_p.h
@@ -40,6 +40,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
class QAbstract3DGraph;
class Abstract3DController;
+class QAbstract3DAxis;
class QAbstract3DGraphPrivate : public QObject
{
@@ -48,15 +49,19 @@ public:
QAbstract3DGraphPrivate(QAbstract3DGraph *q);
~QAbstract3DGraphPrivate();
- void render();
-
void setVisualController(Abstract3DController *controller);
void handleDevicePixelRatioChange();
+ void render();
+
public slots:
void renderLater();
void renderNow();
+ virtual void handleAxisXChanged(QAbstract3DAxis *axis) = 0;
+ virtual void handleAxisYChanged(QAbstract3DAxis *axis) = 0;
+ virtual void handleAxisZChanged(QAbstract3DAxis *axis) = 0;
+
public:
QAbstract3DGraph *q_ptr;
diff --git a/src/datavisualizationqml2/abstractdeclarative.cpp b/src/datavisualizationqml2/abstractdeclarative.cpp
index cb5b1e6a..19b3df32 100644
--- a/src/datavisualizationqml2/abstractdeclarative.cpp
+++ b/src/datavisualizationqml2/abstractdeclarative.cpp
@@ -100,6 +100,13 @@ void AbstractDeclarative::setSharedController(Abstract3DController *controller)
&AbstractDeclarative::themeChanged);
QObject::connect(m_controller, &Abstract3DController::selectionModeChanged, this,
&AbstractDeclarative::selectionModeChanged);
+
+ QObject::connect(m_controller, &Abstract3DController::axisXChanged, this,
+ &AbstractDeclarative::handleAxisXChanged);
+ QObject::connect(m_controller, &Abstract3DController::axisYChanged, this,
+ &AbstractDeclarative::handleAxisYChanged);
+ QObject::connect(m_controller, &Abstract3DController::axisZChanged, this,
+ &AbstractDeclarative::handleAxisZChanged);
}
void AbstractDeclarative::synchDataToRenderer()
diff --git a/src/datavisualizationqml2/abstractdeclarative_p.h b/src/datavisualizationqml2/abstractdeclarative_p.h
index b62090c1..1f16f44d 100644
--- a/src/datavisualizationqml2/abstractdeclarative_p.h
+++ b/src/datavisualizationqml2/abstractdeclarative_p.h
@@ -79,6 +79,11 @@ public:
void synchDataToRenderer();
void render();
+public slots:
+ virtual void handleAxisXChanged(QAbstract3DAxis *axis) = 0;
+ virtual void handleAxisYChanged(QAbstract3DAxis *axis) = 0;
+ virtual void handleAxisZChanged(QAbstract3DAxis *axis) = 0;
+
protected:
virtual void mouseDoubleClickEvent(QMouseEvent *event);
virtual void touchEvent(QTouchEvent *event);
diff --git a/src/datavisualizationqml2/declarativebars.cpp b/src/datavisualizationqml2/declarativebars.cpp
index b1bd806d..3f40ffc2 100644
--- a/src/datavisualizationqml2/declarativebars.cpp
+++ b/src/datavisualizationqml2/declarativebars.cpp
@@ -29,21 +29,9 @@ DeclarativeBars::DeclarativeBars(QQuickItem *parent)
{
setAcceptedMouseButtons(Qt::AllButtons);
- // TODO: These seem to have no effect; find a way to activate anti-aliasing
- setAntialiasing(true);
- setSmooth(true);
-
// Create the shared component on the main GUI thread.
m_barsController = new Bars3DController(boundingRect().toRect(), new Declarative3DScene);
AbstractDeclarative::setSharedController(m_barsController);
-
- // TODO: Uncomment when doing QTRD-2669
-// connect(m_barsController, &Bars3DController::rowAxisChanged,
-// this, &DeclarativeBars::rowAxisChanged);
-// connect(m_barsController, &Bars3DController::valueAxisChanged,
-// this, &DeclarativeBars::valueAxisChanged);
-// connect(m_barsController, &Bars3DController::columnAxisChanged,
-// this, &DeclarativeBars::columnAxisChanged);
}
DeclarativeBars::~DeclarativeBars()
@@ -164,4 +152,19 @@ void DeclarativeBars::removeSeries(QBar3DSeries *series)
series->setParent(this); // Reparent as removing will leave series parentless
}
+void DeclarativeBars::handleAxisXChanged(QAbstract3DAxis *axis)
+{
+ emit columnAxisChanged(static_cast<QCategory3DAxis *>(axis));
+}
+
+void DeclarativeBars::handleAxisYChanged(QAbstract3DAxis *axis)
+{
+ emit valueAxisChanged(static_cast<QValue3DAxis *>(axis));
+}
+
+void DeclarativeBars::handleAxisZChanged(QAbstract3DAxis *axis)
+{
+ emit rowAxisChanged(static_cast<QCategory3DAxis *>(axis));
+}
+
QT_DATAVISUALIZATION_END_NAMESPACE
diff --git a/src/datavisualizationqml2/declarativebars_p.h b/src/datavisualizationqml2/declarativebars_p.h
index 3d748bce..2c6a51f5 100644
--- a/src/datavisualizationqml2/declarativebars_p.h
+++ b/src/datavisualizationqml2/declarativebars_p.h
@@ -85,6 +85,11 @@ public:
Q_INVOKABLE void addSeries(QBar3DSeries *series);
Q_INVOKABLE void removeSeries(QBar3DSeries *series);
+public slots:
+ void handleAxisXChanged(QAbstract3DAxis *axis);
+ void handleAxisYChanged(QAbstract3DAxis *axis);
+ void handleAxisZChanged(QAbstract3DAxis *axis);
+
signals:
void rowAxisChanged(QCategory3DAxis *axis);
void valueAxisChanged(QValue3DAxis *axis);
diff --git a/src/datavisualizationqml2/declarativescatter.cpp b/src/datavisualizationqml2/declarativescatter.cpp
index f7cbeaae..9b118db3 100644
--- a/src/datavisualizationqml2/declarativescatter.cpp
+++ b/src/datavisualizationqml2/declarativescatter.cpp
@@ -28,21 +28,9 @@ DeclarativeScatter::DeclarativeScatter(QQuickItem *parent)
{
setAcceptedMouseButtons(Qt::AllButtons);
- // TODO: These seem to have no effect; find a way to activate anti-aliasing
- setAntialiasing(true);
- setSmooth(true);
-
// Create the shared component on the main GUI thread.
m_scatterController = new Scatter3DController(boundingRect().toRect(), new Declarative3DScene);
setSharedController(m_scatterController);
-
- // TODO: Uncomment when doing QTRD-2669
-// connect(m_scatterController, &Scatter3DController::axisXChanged,
-// this, &DeclarativeBars::axisXChanged);
-// connect(m_scatterController, &Scatter3DController::axisYChanged,
-// this, &DeclarativeBars::axisYChanged);
-// connect(m_scatterController, &Scatter3DController::axisZChanged,
-// this, &DeclarativeBars::axisZChanged);
}
DeclarativeScatter::~DeclarativeScatter()
@@ -124,4 +112,19 @@ void DeclarativeScatter::removeSeries(QScatter3DSeries *series)
series->setParent(this); // Reparent as removing will leave series parentless
}
+void DeclarativeScatter::handleAxisXChanged(QAbstract3DAxis *axis)
+{
+ emit axisXChanged(static_cast<QValue3DAxis *>(axis));
+}
+
+void DeclarativeScatter::handleAxisYChanged(QAbstract3DAxis *axis)
+{
+ emit axisYChanged(static_cast<QValue3DAxis *>(axis));
+}
+
+void DeclarativeScatter::handleAxisZChanged(QAbstract3DAxis *axis)
+{
+ emit axisZChanged(static_cast<QValue3DAxis *>(axis));
+}
+
QT_DATAVISUALIZATION_END_NAMESPACE
diff --git a/src/datavisualizationqml2/declarativescatter_p.h b/src/datavisualizationqml2/declarativescatter_p.h
index 4ccf7d05..e1e3678c 100644
--- a/src/datavisualizationqml2/declarativescatter_p.h
+++ b/src/datavisualizationqml2/declarativescatter_p.h
@@ -71,6 +71,11 @@ public:
Q_INVOKABLE void addSeries(QScatter3DSeries *series);
Q_INVOKABLE void removeSeries(QScatter3DSeries *series);
+public slots:
+ void handleAxisXChanged(QAbstract3DAxis *axis);
+ void handleAxisYChanged(QAbstract3DAxis *axis);
+ void handleAxisZChanged(QAbstract3DAxis *axis);
+
signals:
void axisXChanged(QValue3DAxis *axis);
void axisYChanged(QValue3DAxis *axis);
diff --git a/src/datavisualizationqml2/declarativesurface.cpp b/src/datavisualizationqml2/declarativesurface.cpp
index d4b4083b..ceb733e2 100644
--- a/src/datavisualizationqml2/declarativesurface.cpp
+++ b/src/datavisualizationqml2/declarativesurface.cpp
@@ -29,21 +29,9 @@ DeclarativeSurface::DeclarativeSurface(QQuickItem *parent)
{
setAcceptedMouseButtons(Qt::AllButtons);
- // TODO: These seem to have no effect; find a way to activate anti-aliasing
- setAntialiasing(true);
- setSmooth(true);
-
// Create the shared component on the main GUI thread.
m_surfaceController = new Surface3DController(boundingRect().toRect(), new Declarative3DScene);
setSharedController(m_surfaceController);
-
- // TODO: Uncomment when doing QTRD-2669
-// connect(m_surfaceController, &Surface3DController::axisXChanged,
-// this, &DeclarativeBars::axisXChanged);
-// connect(m_surfaceController, &Surface3DController::axisYChanged,
-// this, &DeclarativeBars::axisYChanged);
-// connect(m_surfaceController, &Surface3DController::axisZChanged,
-// this, &DeclarativeBars::axisZChanged);
}
DeclarativeSurface::~DeclarativeSurface()
@@ -125,4 +113,19 @@ void DeclarativeSurface::removeSeries(QSurface3DSeries *series)
series->setParent(this); // Reparent as removing will leave series parentless
}
+void DeclarativeSurface::handleAxisXChanged(QAbstract3DAxis *axis)
+{
+ emit axisXChanged(static_cast<QValue3DAxis *>(axis));
+}
+
+void DeclarativeSurface::handleAxisYChanged(QAbstract3DAxis *axis)
+{
+ emit axisYChanged(static_cast<QValue3DAxis *>(axis));
+}
+
+void DeclarativeSurface::handleAxisZChanged(QAbstract3DAxis *axis)
+{
+ emit axisZChanged(static_cast<QValue3DAxis *>(axis));
+}
+
QT_DATAVISUALIZATION_END_NAMESPACE
diff --git a/src/datavisualizationqml2/declarativesurface_p.h b/src/datavisualizationqml2/declarativesurface_p.h
index 15e88c91..dc4d232c 100644
--- a/src/datavisualizationqml2/declarativesurface_p.h
+++ b/src/datavisualizationqml2/declarativesurface_p.h
@@ -72,6 +72,11 @@ public:
Q_INVOKABLE void addSeries(QSurface3DSeries *series);
Q_INVOKABLE void removeSeries(QSurface3DSeries *series);
+public slots:
+ void handleAxisXChanged(QAbstract3DAxis *axis);
+ void handleAxisYChanged(QAbstract3DAxis *axis);
+ void handleAxisZChanged(QAbstract3DAxis *axis);
+
signals:
void axisXChanged(QValue3DAxis *axis);
void axisYChanged(QValue3DAxis *axis);
diff --git a/tests/barstest/chart.cpp b/tests/barstest/chart.cpp
index 24fe1b52..4048e807 100644
--- a/tests/barstest/chart.cpp
+++ b/tests/barstest/chart.cpp
@@ -184,6 +184,13 @@ GraphModifier::GraphModifier(Q3DBars *barchart, QColorDialog *colorDialog)
QObject::connect(m_genericData, &QBar3DSeries::selectedBarChanged, this,
&GraphModifier::handleSelectionChange);
+ QObject::connect(m_graph, &Q3DBars::rowAxisChanged, this,
+ &GraphModifier::handleRowAxisChanged);
+ QObject::connect(m_graph, &Q3DBars::columnAxisChanged, this,
+ &GraphModifier::handleColumnAxisChanged);
+ QObject::connect(m_graph, &Q3DBars::valueAxisChanged, this,
+ &GraphModifier::handleValueAxisChanged);
+
m_graph->addSeries(m_temperatureData);
m_graph->addSeries(m_temperatureData2);
@@ -681,6 +688,20 @@ void GraphModifier::setUseNullInputHandler(bool useNull)
m_graph->setActiveInputHandler(m_defaultInputHandler);
}
+void GraphModifier::handleRowAxisChanged(QCategory3DAxis *axis)
+{
+ qDebug() << __FUNCTION__ << axis << axis->orientation() << (axis == m_graph->rowAxis());
+}
+
+void GraphModifier::handleColumnAxisChanged(QCategory3DAxis *axis)
+{
+ qDebug() << __FUNCTION__ << axis << axis->orientation() << (axis == m_graph->columnAxis());
+}
+
+void GraphModifier::handleValueAxisChanged(QValue3DAxis *axis)
+{
+ qDebug() << __FUNCTION__ << axis << axis->orientation() << (axis == m_graph->valueAxis());
+}
void GraphModifier::changeShadowQuality(int quality)
{
diff --git a/tests/barstest/chart.h b/tests/barstest/chart.h
index c75e5024..f617a348 100644
--- a/tests/barstest/chart.h
+++ b/tests/barstest/chart.h
@@ -89,6 +89,10 @@ public slots:
void handleSelectionChange(const QPoint &position);
void setUseNullInputHandler(bool useNull);
+ void handleRowAxisChanged(QCategory3DAxis *axis);
+ void handleColumnAxisChanged(QCategory3DAxis *axis);
+ void handleValueAxisChanged(QValue3DAxis *axis);
+
signals:
void shadowQualityChanged(int quality);
diff --git a/tests/multigraphs/data.cpp b/tests/multigraphs/data.cpp
index 9e8a5196..70fcbad4 100644
--- a/tests/multigraphs/data.cpp
+++ b/tests/multigraphs/data.cpp
@@ -42,6 +42,8 @@ Data::Data(Q3DSurface *surface, Q3DScatter *scatter, Q3DBars *bars,
m_resolution(QSize(300, 300)),
m_resolutionLevel(0),
m_mode(Surface),
+ m_scatterDataArray(0),
+ m_barDataArray(0),
m_started(false)
{
// Initialize surface
diff --git a/tests/qmlmultigraph/qml/qmlmultigraph/main.qml b/tests/qmlmultigraph/qml/qmlmultigraph/main.qml
index fdc49132..11c4ab2d 100644
--- a/tests/qmlmultigraph/qml/qmlmultigraph/main.qml
+++ b/tests/qmlmultigraph/qml/qmlmultigraph/main.qml
@@ -43,6 +43,16 @@ Item {
valueRole: "expenses"
}
}
+
+ onRowAxisChanged: {
+ console.log("Bars: Row axis changed.")
+ }
+ onColumnAxisChanged: {
+ console.log("Bars: column axis changed.")
+ }
+ onValueAxisChanged: {
+ console.log("Bars: Value axis changed.")
+ }
}
ListModel {
@@ -75,6 +85,16 @@ Item {
zPosRole: "zPos"
}
}
+
+ onAxisXChanged: {
+ console.log("Scatter: axis X changed.")
+ }
+ onAxisYChanged: {
+ console.log("Scatter: axis Y changed.")
+ }
+ onAxisZChanged: {
+ console.log("Scatter: axis Z changed.")
+ }
}
ListModel {
@@ -105,6 +125,16 @@ Item {
valueRole: "pop_density"
}
}
+
+ onAxisXChanged: {
+ console.log("Surface: axis X changed.")
+ }
+ onAxisYChanged: {
+ console.log("Surface: axis Y changed.")
+ }
+ onAxisZChanged: {
+ console.log("Surface: axis Z changed.")
+ }
}
ListModel {
id: surfaceDataModel
@@ -141,6 +171,24 @@ Item {
text: "Quit"
onClicked: Qt.quit(0);
}
+
+ NewButton {
+ id: resetAxesButton
+ Layout.fillHeight: true
+ Layout.fillWidth: true
+ text: "Reset axes"
+ onClicked: {
+ barGraph.rowAxis = null
+ barGraph.columnAxis = null
+ barGraph.valueAxis = null
+ scatterGraph.axisX = null
+ scatterGraph.axisY = null
+ scatterGraph.axisZ = null
+ surfaceGraph.axisX = null
+ surfaceGraph.axisY = null
+ surfaceGraph.axisZ = null
+ }
+ }
}
Rectangle {
diff --git a/tests/scattertest/scatterchart.cpp b/tests/scattertest/scatterchart.cpp
index 58add6ec..97562861 100644
--- a/tests/scattertest/scatterchart.cpp
+++ b/tests/scattertest/scatterchart.cpp
@@ -55,6 +55,13 @@ ScatterDataModifier::ScatterDataModifier(Q3DScatter *scatter)
QObject::connect(&m_timer, &QTimer::timeout, this, &ScatterDataModifier::timeout);
QObject::connect(m_chart, &Q3DScatter::shadowQualityChanged, this,
&ScatterDataModifier::shadowQualityUpdatedByVisual);
+
+ QObject::connect(m_chart, &Q3DScatter::axisXChanged, this,
+ &ScatterDataModifier::handleAxisXChanged);
+ QObject::connect(m_chart, &Q3DScatter::axisYChanged, this,
+ &ScatterDataModifier::handleAxisYChanged);
+ QObject::connect(m_chart, &Q3DScatter::axisZChanged, this,
+ &ScatterDataModifier::handleAxisZChanged);
}
ScatterDataModifier::~ScatterDataModifier()
@@ -461,6 +468,21 @@ void ScatterDataModifier::removeSeries()
}
}
+void ScatterDataModifier::handleAxisXChanged(QValue3DAxis *axis)
+{
+ qDebug() << __FUNCTION__ << axis << axis->orientation() << (axis == m_chart->axisX());
+}
+
+void ScatterDataModifier::handleAxisYChanged(QValue3DAxis *axis)
+{
+ qDebug() << __FUNCTION__ << axis << axis->orientation() << (axis == m_chart->axisY());
+}
+
+void ScatterDataModifier::handleAxisZChanged(QValue3DAxis *axis)
+{
+ qDebug() << __FUNCTION__ << axis << axis->orientation() << (axis == m_chart->axisZ());
+}
+
void ScatterDataModifier::changeShadowQuality(int quality)
{
QDataVis::ShadowQuality sq = QDataVis::ShadowQuality(quality);
diff --git a/tests/scattertest/scatterchart.h b/tests/scattertest/scatterchart.h
index 5524929e..903c6fc0 100644
--- a/tests/scattertest/scatterchart.h
+++ b/tests/scattertest/scatterchart.h
@@ -68,6 +68,10 @@ public slots:
void addSeries();
void removeSeries();
+ void handleAxisXChanged(QValue3DAxis *axis);
+ void handleAxisYChanged(QValue3DAxis *axis);
+ void handleAxisZChanged(QValue3DAxis *axis);
+
signals:
void shadowQualityChanged(int quality);
diff --git a/tests/surfacetest/graphmodifier.cpp b/tests/surfacetest/graphmodifier.cpp
index bd44c1dc..58aee4cd 100644
--- a/tests/surfacetest/graphmodifier.cpp
+++ b/tests/surfacetest/graphmodifier.cpp
@@ -65,6 +65,13 @@ GraphModifier::GraphModifier(Q3DSurface *graph)
connect(&m_timer, &QTimer::timeout, this, &GraphModifier::timeout);
connect(m_theSeries, &QSurface3DSeries::selectedPointChanged, this, &GraphModifier::selectedPointChanged);
+
+ QObject::connect(m_graph, &Q3DSurface::axisXChanged, this,
+ &GraphModifier::handleAxisXChanged);
+ QObject::connect(m_graph, &Q3DSurface::axisYChanged, this,
+ &GraphModifier::handleAxisYChanged);
+ QObject::connect(m_graph, &Q3DSurface::axisZChanged, this,
+ &GraphModifier::handleAxisZChanged);
}
GraphModifier::~GraphModifier()
@@ -393,6 +400,21 @@ void GraphModifier::timeout()
m_theSeries->dataProxy()->resetArray(m_planeArray);
}
+void GraphModifier::handleAxisXChanged(QValue3DAxis *axis)
+{
+ qDebug() << __FUNCTION__ << axis << axis->orientation() << (axis == m_graph->axisX());
+}
+
+void GraphModifier::handleAxisYChanged(QValue3DAxis *axis)
+{
+ qDebug() << __FUNCTION__ << axis << axis->orientation() << (axis == m_graph->axisY());
+}
+
+void GraphModifier::handleAxisZChanged(QValue3DAxis *axis)
+{
+ qDebug() << __FUNCTION__ << axis << axis->orientation() << (axis == m_graph->axisZ());
+}
+
void GraphModifier::resetArrayAndSliders(QSurfaceDataArray *array, float minZ, float maxZ, float minX, float maxX)
{
m_axisMinSliderX->setValue(minX);
diff --git a/tests/surfacetest/graphmodifier.h b/tests/surfacetest/graphmodifier.h
index f0b5cce7..e3c11b5d 100644
--- a/tests/surfacetest/graphmodifier.h
+++ b/tests/surfacetest/graphmodifier.h
@@ -87,6 +87,10 @@ public slots:
void changeSelectionMode(int mode);
void timeout();
+ void handleAxisXChanged(QValue3DAxis *axis);
+ void handleAxisYChanged(QValue3DAxis *axis);
+ void handleAxisZChanged(QValue3DAxis *axis);
+
private:
void resetArrayAndSliders(QSurfaceDataArray *array, float minZ, float maxZ, float minX,
float maxX);