summaryrefslogtreecommitdiffstats
path: root/src/datavisualization
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-11-25 09:46:24 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-11-25 12:39:56 +0200
commite7e01ec065d3874d28e9e28d213783c4275d8813 (patch)
treecae322801171a81362477d0a4156f451ae8cc450 /src/datavisualization
parent8b55f6d7a7d8772553d7d2cc3647fb7465b9dc32 (diff)
Fix documentation related to multiseries changes.
Also fixed some other miscellaneous issues. Task-number: QTRD-2558 Change-Id: I2da3f7e64fbbbb287ddb7845cb0a15006dc4d6f5 Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'src/datavisualization')
-rw-r--r--src/datavisualization/data/qabstract3dseries.cpp6
-rw-r--r--src/datavisualization/data/qbar3dseries.cpp39
-rw-r--r--src/datavisualization/data/qbardataproxy.cpp26
-rw-r--r--src/datavisualization/data/qscatter3dseries.cpp32
-rw-r--r--src/datavisualization/data/qscatterdataproxy.cpp22
-rw-r--r--src/datavisualization/data/qsurface3dseries.cpp36
-rw-r--r--src/datavisualization/data/qsurfacedataproxy.cpp19
-rw-r--r--src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp4
-rw-r--r--src/datavisualization/doc/snippets/doc_src_q3dscatter_construction.cpp4
-rw-r--r--src/datavisualization/doc/snippets/doc_src_q3dsurface_construction.cpp4
-rw-r--r--src/datavisualization/doc/snippets/doc_src_qtdatavisualization.cpp2
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc21
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc16
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc18
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization.qdoc44
-rw-r--r--src/datavisualization/engine/abstract3drenderer.cpp4
-rw-r--r--src/datavisualization/engine/bars3dcontroller.cpp4
-rw-r--r--src/datavisualization/engine/q3dbars.cpp11
-rw-r--r--src/datavisualization/engine/q3dscatter.cpp6
-rw-r--r--src/datavisualization/engine/q3dscene.cpp15
-rw-r--r--src/datavisualization/engine/q3dscene.h2
-rw-r--r--src/datavisualization/engine/q3dsurface.cpp8
-rw-r--r--src/datavisualization/engine/q3dsurface.h1
-rw-r--r--src/datavisualization/engine/surface3dcontroller.cpp4
-rw-r--r--src/datavisualization/engine/surface3dcontroller_p.h1
-rw-r--r--src/datavisualization/global/qdatavisualizationenums.h6
-rw-r--r--src/datavisualization/global/qtdatavisualizationenums.qdoc5
27 files changed, 184 insertions, 176 deletions
diff --git a/src/datavisualization/data/qabstract3dseries.cpp b/src/datavisualization/data/qabstract3dseries.cpp
index 0ebf2aa1..579e1dec 100644
--- a/src/datavisualization/data/qabstract3dseries.cpp
+++ b/src/datavisualization/data/qabstract3dseries.cpp
@@ -26,7 +26,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
/*!
* \class QAbstract3DSeries
* \inmodule QtDataVisualization
- * \brief Base class for all QtDataVisualization data proxies.
+ * \brief Base class for all QtDataVisualization series.
* \since Qt Data Visualization 1.0
*
* You use the visualization type specific inherited classes instead of the base class.
@@ -39,7 +39,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
* \since QtDataVisualization 1.0
* \ingroup datavisualization_qml
* \instantiates QAbstract3DSeries
- * \brief Base type for all QtDataVisualization data proxies.
+ * \brief Base type for all QtDataVisualization series.
*
* This type is uncreatable, but contains properties that are exposed via subtypes.
* \sa Bar3DSeries, Scatter3DSeries, Surface3DSeries, {Qt Data Visualization Data Handling}
@@ -111,7 +111,7 @@ QAbstract3DSeries::SeriesType QAbstract3DSeries::type() const
* for example, when an item is selected. How the format is interpreted depends on series type. See
* each series class documentation for more information.
*
- * \sa QBar3DSeries, Q3DScatterSeries, Q3DSurfaceSeries
+ * \sa QBar3DSeries, QScatter3DSeries, QSurface3DSeries
*/
void QAbstract3DSeries::setItemLabelFormat(const QString &format)
{
diff --git a/src/datavisualization/data/qbar3dseries.cpp b/src/datavisualization/data/qbar3dseries.cpp
index 0e6bdd60..301f36f1 100644
--- a/src/datavisualization/data/qbar3dseries.cpp
+++ b/src/datavisualization/data/qbar3dseries.cpp
@@ -30,15 +30,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
* QBar3DSeries manages the series specific visual elements, as well as series data
* (via data proxy).
*
- * If no data proxy is set explicitly for the series, QBar3DSeries creates a default
- * proxy. If any other proxy is set as active data proxy later, the default proxy and all data
- * added to it are destroyed.
- *
- * QBar3DSeries optionally keeps track of row and column labels, which Q3DCategoryAxis can utilize
- * to show axis labels. The row and column labels are stored in separate array from the data and
- * row manipulation methods provide an alternate versions that don't affect the row labels.
- * This enables the option of having row labels that relate to the position of the data in the
- * array rather than the data itself.
+ * If no data proxy is set explicitly for the series, the series creates a default
+ * proxy. Setting another proxy will destroy the existing proxy and all data added to it.
*
* QBar3DSeries supports the following format tags for QAbstract3DSeries::setItemLabelFormat():
* \table
@@ -86,6 +79,31 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
* \sa {Qt Data Visualization Data Handling}
*/
+/*!
+ * \qmlproperty BarDataProxy Bar3DSeries::dataProxy
+ *
+ * This property holds the active data \a proxy. The series assumes ownership of any proxy set to
+ * it and deletes any previously set proxy when a new one is added. The \a proxy cannot be null or
+ * set to another series.
+ */
+
+/*!
+ * \qmlproperty point Bar3DSeries::selectedBar
+ *
+ * Selects a bar at the \a position. The \a position is the (row, column) position in
+ * the data array of the series.
+ * Only one bar can be selected at a time.
+ * To clear selection, set invalidSelectionPosition() as the \a position.
+ * If this series is added to a graph, the graph can adjust the selection according to user
+ * interaction or if it becomes invalid. Selecting a bar on another added series will also
+ * clear the selection.
+ */
+
+/*!
+ * \qmlmethod point Bar3DSeries::invalidSelectionPosition()
+ * \return an invalid position for selection. Set this position to selectedBar property if you
+ * want to clear the selection.
+ */
/*!
* Constructs QBar3DSeries with the given \a parent.
@@ -97,6 +115,9 @@ QBar3DSeries::QBar3DSeries(QObject *parent) :
dptr()->setDataProxy(new QBarDataProxy);
}
+/*!
+ * Constructs QBar3DSeries with the given \a dataProxy and the \a parent.
+ */
QBar3DSeries::QBar3DSeries(QBarDataProxy *dataProxy, QObject *parent) :
QAbstract3DSeries(new QBar3DSeriesPrivate(this), parent)
{
diff --git a/src/datavisualization/data/qbardataproxy.cpp b/src/datavisualization/data/qbardataproxy.cpp
index 26c3a36a..d22c34b5 100644
--- a/src/datavisualization/data/qbardataproxy.cpp
+++ b/src/datavisualization/data/qbardataproxy.cpp
@@ -44,32 +44,6 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
* This enables the option of having row labels that relate to the position of the data in the
* array rather than the data itself.
*
- * QBarDataProxy supports the following format tags for QAbstractDataProxy::setItemLabelFormat():
- * \table
- * \row
- * \li @rowTitle \li Title from row axis
- * \row
- * \li @colTitle \li Title from column axis
- * \row
- * \li @valueTitle \li Title from value axis
- * \row
- * \li @rowIdx \li Visible row index
- * \row
- * \li @colIdx \li Visible Column index
- * \row
- * \li @rowLabel \li Label from row axis
- * \row
- * \li @colLabel \li Label from column axis
- * \row
- * \li @valueLabel \li Item value formatted using the same format the value axis attached to the graph uses,
- * see \l{Q3DValueAxis::setLabelFormat()} for more information.
- * \row
- * \li %<format spec> \li Item value in specified format.
- * \endtable
- *
- * For example:
- * \snippet doc_src_qtdatavisualization.cpp 1
- *
* \sa {Qt Data Visualization Data Handling}
*/
diff --git a/src/datavisualization/data/qscatter3dseries.cpp b/src/datavisualization/data/qscatter3dseries.cpp
index aff0f33c..4d9eb01a 100644
--- a/src/datavisualization/data/qscatter3dseries.cpp
+++ b/src/datavisualization/data/qscatter3dseries.cpp
@@ -30,9 +30,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
* QScatter3DSeries manages the series specific visual elements, as well as series data
* (via data proxy).
*
- * If no data proxy is set explicitly for the series, QScatter3DSeries creates a default
- * proxy. If any other proxy is set as active data proxy later, the default proxy and all data
- * added to it are destroyed.
+ * If no data proxy is set explicitly for the series, the series creates a default
+ * proxy. Setting another proxy will destroy the existing proxy and all data added to it.
*
* QScatter3DSeries supports the following format tags for QAbstract3DSeries::setItemLabelFormat():
* \table
@@ -76,6 +75,30 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
* \sa {Qt Data Visualization Data Handling}
*/
+/*!
+ * \qmlproperty ScatterDataProxy Scatter3DSeries::dataProxy
+ *
+ * This property holds the active data \a proxy. The series assumes ownership of any proxy set to
+ * it and deletes any previously set proxy when a new one is added. The \a proxy cannot be null or
+ * set to another series.
+ */
+
+/*!
+ * \qmlproperty int Scatter3DSeries::selectedItem
+ *
+ * Selects an item at the \a index. The \a index is the index in the data array of the series.
+ * Only one item can be selected at a time.
+ * To clear selection, set invalidSelectionIndex() as the \a index.
+ * If this series is added to a graph, the graph can adjust the selection according to user
+ * interaction or if it becomes invalid. Selecting an item on another added series will also
+ * clear the selection.
+ */
+
+/*!
+ * \qmlmethod int Scatter3DSeries::invalidSelectionIndex()
+ * \return an invalid index for selection. Set this index to selectedItem property if you
+ * want to clear the selection.
+ */
/*!
* Constructs QScatter3DSeries with the given \a parent.
@@ -87,6 +110,9 @@ QScatter3DSeries::QScatter3DSeries(QObject *parent) :
dptr()->setDataProxy(new QScatterDataProxy);
}
+/*!
+ * Constructs QScatter3DSeries with the given \a dataProxy and the \a parent.
+ */
QScatter3DSeries::QScatter3DSeries(QScatterDataProxy *dataProxy, QObject *parent) :
QAbstract3DSeries(new QScatter3DSeriesPrivate(this), parent)
{
diff --git a/src/datavisualization/data/qscatterdataproxy.cpp b/src/datavisualization/data/qscatterdataproxy.cpp
index 149cb1ae..ff37dd24 100644
--- a/src/datavisualization/data/qscatterdataproxy.cpp
+++ b/src/datavisualization/data/qscatterdataproxy.cpp
@@ -32,28 +32,6 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
*
* QScatterDataProxy takes ownership of all QScatterDataArrays and QScatterDataItems passed to it.
*
- * QScatterDataProxy supports the following format tags for QAbstractDataProxy::setItemLabelFormat():
- * \table
- * \row
- * \li @xTitle \li Title from X axis
- * \row
- * \li @yTitle \li Title from Y axis
- * \row
- * \li @zTitle \li Title from Z axis
- * \row
- * \li @xLabel \li Item value formatted using the same format the X axis attached to the graph uses,
- * see \l{Q3DValueAxis::setLabelFormat()} for more information.
- * \row
- * \li @yLabel \li Item value formatted using the same format the Y axis attached to the graph uses,
- * see \l{Q3DValueAxis::setLabelFormat()} for more information.
- * \row
- * \li @zLabel \li Item value formatted using the same format the Z axis attached to the graph uses,
- * see \l{Q3DValueAxis::setLabelFormat()} for more information.
- * \endtable
- *
- * For example:
- * \snippet doc_src_qtdatavisualization.cpp 2
- *
* \sa {Qt Data Visualization Data Handling}
*/
diff --git a/src/datavisualization/data/qsurface3dseries.cpp b/src/datavisualization/data/qsurface3dseries.cpp
index 98d406c0..d71962c3 100644
--- a/src/datavisualization/data/qsurface3dseries.cpp
+++ b/src/datavisualization/data/qsurface3dseries.cpp
@@ -30,9 +30,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
* QSurface3DSeries manages the series specific visual elements, as well as series data
* (via data proxy).
*
- * If no data proxy is set explicitly for the series, QSurface3DSeries creates a default
- * proxy. If any other proxy is set as active data proxy later, the default proxy and all data
- * added to it are destroyed.
+ * If no data proxy is set explicitly for the series, the series creates a default
+ * proxy. Setting another proxy will destroy the existing proxy and all data added to it.
*
* QSurface3DSeries supports the following format tags for QAbstract3DSeries::setItemLabelFormat():
* \table
@@ -76,6 +75,30 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
* \sa {Qt Data Visualization Data Handling}
*/
+/*!
+ * \qmlproperty SurfaceDataProxy Surface3DSeries::dataProxy
+ *
+ * This property holds the active data \a proxy. The series assumes ownership of any proxy set to
+ * it and deletes any previously set proxy when a new one is added. The \a proxy cannot be null or
+ * set to another series.
+ */
+
+/*!
+ * \qmlproperty point Surface3DSeries::selectedPoint
+ *
+ * Selects a surface grid point in a \a position. The position is the (row, column) position in
+ * the data array of the series.
+ * Only one point can be selected at a time.
+ * To clear selection, set invalidSelectionPosition() as the \a position.
+ * If this series is added to a graph, the graph can adjust the selection according to user
+ * interaction or if it becomes invalid.
+ */
+
+/*!
+ * \qmlmethod point Surface3DSeries::invalidSelectionPosition()
+ * \return a point signifying an invalid selection position. Set this to selectedPoint property
+ * to clear the selection.
+ */
/*!
* Constructs QSurface3DSeries with the given \a parent.
@@ -87,6 +110,9 @@ QSurface3DSeries::QSurface3DSeries(QObject *parent) :
dptr()->setDataProxy(new QSurfaceDataProxy);
}
+/*!
+ * Constructs QSurface3DSeries with the given \a dataProxy and the \a parent.
+ */
QSurface3DSeries::QSurface3DSeries(QSurfaceDataProxy *dataProxy, QObject *parent) :
QAbstract3DSeries(new QSurface3DSeriesPrivate(this), parent)
{
@@ -149,6 +175,10 @@ QPoint QSurface3DSeries::selectedPoint() const
return dptrc()->m_selectedPoint;
}
+/*!
+ * \return a QPoint signifying an invalid selection position. Set this to selectedPoint property
+ * to clear the selection.
+ */
QPoint QSurface3DSeries::invalidSelectionPosition() const
{
return Surface3DController::invalidSelectionPosition();
diff --git a/src/datavisualization/data/qsurfacedataproxy.cpp b/src/datavisualization/data/qsurfacedataproxy.cpp
index e3c2714c..8db082c7 100644
--- a/src/datavisualization/data/qsurfacedataproxy.cpp
+++ b/src/datavisualization/data/qsurfacedataproxy.cpp
@@ -43,25 +43,6 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
* \note Surfaces with less than two rows or columns are not considered valid surfaces and will
* not get rendered.
*
- * QSurfaceDataProxy supports the following format tags for QAbstractDataProxy::setItemLabelFormat():
- * \table
- * \row
- * \li @xTitle \li Title from X axis
- * \row
- * \li @yTitle \li Title from Y axis
- * \row
- * \li @zTitle \li Title from Z axis
- * \row
- * \li @xLabel \li Item value formatted using the same format as the X axis attached to the graph uses,
- * see \l{Q3DValueAxis::setLabelFormat()} for more information.
- * \row
- * \li @yLabel \li Item value formatted using the same format as the Y axis attached to the graph uses,
- * see \l{Q3DValueAxis::setLabelFormat()} for more information.
- * \row
- * \li @zLabel \li Item value formatted using the same format as the Z axis attached to the graph uses,
- * see \l{Q3DValueAxis::setLabelFormat()} for more information.
- * \endtable
- *
* \sa {Qt Data Visualization Data Handling}
*/
diff --git a/src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp b/src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp
index 7c47183c..6d855ecb 100644
--- a/src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp
+++ b/src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp
@@ -33,9 +33,11 @@ int main(int argc, char **argv)
bars.columnAxis()->setRange(0, 4);
//! [0]
//! [1]
+ QBar3DSeries *series = new QBar3DSeries;
QBarDataRow *data = new QBarDataRow;
*data << 1.0 << 3.0 << 7.5 << 5.0 << 2.2;
- bars.activeDataProxy()->addRow(data);
+ series->dataProxy()->addRow(data);
+ bars.addSeries(series);
//! [1]
//! [2]
bars.show();
diff --git a/src/datavisualization/doc/snippets/doc_src_q3dscatter_construction.cpp b/src/datavisualization/doc/snippets/doc_src_q3dscatter_construction.cpp
index cce43fec..949afadc 100644
--- a/src/datavisualization/doc/snippets/doc_src_q3dscatter_construction.cpp
+++ b/src/datavisualization/doc/snippets/doc_src_q3dscatter_construction.cpp
@@ -29,9 +29,11 @@ int main(int argc, char **argv)
Q3DScatter scatter;
//! [0]
//! [1]
+ QScatter3DSeries *series = new QScatter3DSeries;
QScatterDataArray data;
data << QVector3D(0.5f, 0.5f, 0.5f) << QVector3D(-0.3f, -0.5f, -0.4f) << QVector3D(0.0f, -0.3f, 0.2f);
- scatter.activeDataProxy()->addItems(data);
+ series->dataProxy()->addItems(data);
+ scatter.addSeries(series);
//! [1]
//! [2]
scatter.show();
diff --git a/src/datavisualization/doc/snippets/doc_src_q3dsurface_construction.cpp b/src/datavisualization/doc/snippets/doc_src_q3dsurface_construction.cpp
index 67587efc..d0833ca2 100644
--- a/src/datavisualization/doc/snippets/doc_src_q3dsurface_construction.cpp
+++ b/src/datavisualization/doc/snippets/doc_src_q3dsurface_construction.cpp
@@ -41,7 +41,9 @@ int main(int argc, char **argv)
//! [2]
//! [3]
- surface.activeDataProxy()->resetArray(data);
+ QSurface3DSeries *series = new QSurface3DSeries;
+ series->dataProxy()->resetArray(data);
+ surface.addSeries(series);
//! [3]
//! [4]
surface.show();
diff --git a/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.cpp b/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.cpp
index d32bde0e..e0a9fa58 100644
--- a/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.cpp
+++ b/src/datavisualization/doc/snippets/doc_src_qtdatavisualization.cpp
@@ -116,5 +116,5 @@ for (int i = 0; i < 10; i++) {
}
newProxy->resetArray(dataArray);
-graph->setActiveDataProxy(newProxy);
+graph->addSeries(new QBar3DSeries(newProxy));
//! [10]
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc
index 45324b8a..bb99a539 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc
@@ -36,7 +36,7 @@
*
* See \l{Qt Quick 2 Bars Example} for more thorough usage example.
*
- * \sa Bar3DSeries, ItemModelBarData, Scatter3D, Surface3D, {Qt Data Visualization C++ Classes}
+ * \sa Bar3DSeries, ItemModelBarDataProxy, Scatter3D, Surface3D, {Qt Data Visualization C++ Classes}
*/
/*!
@@ -122,24 +122,23 @@
*/
/*!
- * \qmlproperty point Bars3D::selectedBar
- * Position of the selected bar in data window. Only one bar can be selected at a time.
- * To clear selection, specify an illegal position, e.g. Qt.point(-1.0, -1.0).
- */
-
-/*!
- * \qmlproperty list<QBar3DSeries> seriesList
+ * \qmlproperty list<QBar3DSeries> Bars3D::seriesList
* This property holds the series of the graph.
* By default, this property contains an empty list.
* To set the series, either use the addSeries() function or define them as children of the graph.
*/
/*!
- * \qmlmethod void addSeries(QBar3DSeries *series)
- * Add the \a series to the graph.
+ * \qmlmethod void Bars3D::addSeries(QBar3DSeries *series)
+ * Adds the \a series to the graph. A graph can contain multiple series, but only one set of axes,
+ * so the rows and columns of all series must match for the visualized data to be meaningful.
+ * If the graph has multiple visible series, only the first one added will
+ * generate the row or column labels on the axes in cases where the labels are not explicitly set
+ * to the axes. If the newly added series has specified a selected bar, it will be highlighted and
+ * any existing selection will be cleared. Only one added series can have an active selection.
*/
/*!
- * \qmlmethod void removeSeries(QBar3DSeries *series)
+ * \qmlmethod void Bars3D::removeSeries(QBar3DSeries *series)
* Remove the \a series from the graph.
*/
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc
index 7ad9d470..da7faaa3 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc
@@ -97,24 +97,20 @@
*/
/*!
- \qmlproperty int Scatter3D::selectedItemIndex
- Selects an item in the \a index. Only one item can be selected at a time.
- To clear selection, specify an illegal \a index, e.g. -1.
- */
-
-/*!
- * \qmlproperty list<QScatter3DSeries> seriesList
+ * \qmlproperty list<QScatter3DSeries> Scatter3D::seriesList
* This property holds the series of the graph.
* By default, this property contains an empty list.
* To set the series, either use the addSeries() function or define them as children of the graph.
*/
/*!
- * \qmlmethod void addSeries(QScatter3DSeries *series)
- * Add the \a series to the graph.
+ * \qmlmethod void Scatter3D::addSeries(QScatter3DSeries *series)
+ * Adds the \a series to the graph. A graph can contain multiple series, but has only one set of
+ * axes. If the newly added series has specified a selected item, it will be highlighted and
+ * any existing selection will be cleared. Only one added series can have an active selection.
*/
/*!
- * \qmlmethod void removeSeries(QScatter3DSeries *series)
+ * \qmlmethod void Scatter3D::removeSeries(QScatter3DSeries *series)
* Remove the \a series from the graph.
*/
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc
index d1422b10..f422a5b5 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc
@@ -88,16 +88,7 @@
*/
/*!
- \qmlproperty point Surface3D::selectedPoint
-
- Selects a surface grid point in a \a position. The position is the (row, column) position in
- the data array of the series.
- Only one point can be selected at a time.
- To clear selection, specify an illegal \a position, e.g. (-1, -1).
- */
-
-/*!
- * \qmlproperty list<QSurface3DSeries> seriesList
+ * \qmlproperty list<QSurface3DSeries> Surface3D::seriesList
* This property holds the series of the graph.
* By default, this property contains an empty list.
* To set the series, either use the addSeries() function or define them as children of the graph.
@@ -105,11 +96,12 @@
*/
/*!
- * \qmlmethod void addSeries(QSurface3DSeries *series)
- * Add the \a series to the graph.
+ * \qmlmethod void Surface3D::addSeries(QSurface3DSeries *series)
+ * Adds the \a series to the graph.
+ * \note The surface graph currently supports only a single series at a time.
*/
/*!
- * \qmlmethod void removeSeries(QSurface3DSeries *series)
+ * \qmlmethod void Surface3D::removeSeries(QSurface3DSeries *series)
* Remove the \a series from the graph.
*/
diff --git a/src/datavisualization/doc/src/qtdatavisualization.qdoc b/src/datavisualization/doc/src/qtdatavisualization.qdoc
index 3c697ba0..7716fb4c 100644
--- a/src/datavisualization/doc/src/qtdatavisualization.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization.qdoc
@@ -173,7 +173,7 @@
directly supported. Therefore, Qt Data Visualization implements data proxies into which
user can feed their data in a known format. Each visualization type has a basic proxy type,
which takes data in a format suitable for that visualization.
- For example, the basic proxy for Q3DBars is QBarDataProxy, which stores rows of QBarDataItem
+ For example, the basic proxy for QBar3DSeries is QBarDataProxy, which stores rows of QBarDataItem
objects. Each QBarDataItem stores a single bar value. Additional typedefs are provided for
QBarDataArray and QBarDataRow containers.
@@ -182,32 +182,32 @@
\snippet doc_src_qtdatavisualization.cpp 10
- \note The graph objects can own more than one data proxy, but only one proxy can be
- active at a time. If you need to switch back and forth between two different sets of data,
- it may be more efficient to store each set in a different proxy and just change the active
- proxy, rather than reset the data in one proxy every time you need to switch.
+ \note Series objects can own only a single proxy at a time. The existing proxy is deleted
+ when another is set to the series. Graphs can contain multiple series, though.
+ If you need to switch back and forth between two different sets of data,
+ it is usually more efficient to store each set in a different series and just change the series,
+ rather than reset the data in one proxy every time you need to switch.
\section1 Item models and data mapping
For common use cases, Qt Data Visualization offers specialized proxies. One such case is having
data in an item model (QAbstractItemModel subclass), which is a common way to store data in
- Qt applications. Each of the visualization types offers a special proxy and a corresponding mapping
- class for this purpose, for example, QItemModelBarDataProxy and QItemModelBarDataMapping for Q3DBars.
+ Qt applications. Each of the visualization types offers a special proxy class for this purpose,
+ for example, QItemModelBarDataProxy for QBar3DSeries.
These proxies are simple to use: just give them a pointer to the item model containing the
- data and the mapping object containing rules how to map the data into format the basic proxy can
- digest.
+ data and the rules how to map the data into format the basic proxy can digest.
- Mapping objects work with item model roles. Each data item in the model can have different
- values for different roles. For example, with QItemModelBarDataMapping you can specify which
+ Mapping works with item model roles. Each data item in the model can have different
+ values for different roles. For example, with QItemModelBarDataProxy you can specify which
role is used to determine which row the item belongs to, which role does the same for columns,
and which role specifies the value of the item. When the proxy resolves the data from the model,
it uses these mappings to generate the rows and columns of the bar graph.
- Depending on the visualization type, mapping classes may support other functionalities as well,
- such as QItemModelBarDataMapping optionally mapping QAbstractItemModel rows and columns directly
- into bar graph rows and columns. See individual mapping classes for more information and examples
- about how to use them: QItemModelBarDataMapping, QItemModelScatterDataMapping, and
- QItemModelSurfaceDataMapping.
+ Depending on the visualization type, proxies may support other functionalities as well,
+ such as QItemModelBarDataProxy optionally mapping QAbstractItemModel rows and columns directly
+ into bar graph rows and columns. See individual proxy classes for more information and examples
+ about how to use them: QItemModelBarDataProxy, QItemModelScatterDataProxy, and
+ QItemModelSurfaceDataProxy.
\section1 Other custom proxies
@@ -264,12 +264,9 @@
\section1 Data selection modes
All visualization types support selecting a single data item - a bar, a scatter item, or a surface
- vertex - using mouse, touch, and programmatically via the graph APIs. The selected item is highlighted
- in the rendered graph, and selecting causes emission of a graph specific signal for this purpose,
- for example, Q3DBars::selectedBarChanged(), which the application can handle.
-
- \note The surface graph doesn't have a fully implemented selection API yet. It only supports
- selection with mouse and touch in the technology preview version.
+ vertex - using mouse, touch, and programmatically via the series APIs. The selected item is highlighted
+ in the rendered graph, and selecting causes emission of a series specific signal for this purpose,
+ for example, QBar3DSeries::selectedBarChanged(), which the application can handle.
Bar and surface graphs support slice selection modes, where the selected row or column is drawn
in a separate viewport as a pseudo-2D graph. This makes it easier to see the actual values of
@@ -277,4 +274,7 @@
Bar graph additionally supports simply highlighting the whole row and/or column of the selected bar
without opening the slice view.
+
+ When multiple series are added to a graph, selecting an item in one of them will clear the selection
+ on other series.
*/
diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp
index cd4f15b8..f9295865 100644
--- a/src/datavisualization/engine/abstract3drenderer.cpp
+++ b/src/datavisualization/engine/abstract3drenderer.cpp
@@ -178,11 +178,11 @@ void Abstract3DRenderer::updateScene(Q3DScene *scene)
{
updateInputPosition(scene->selectionQueryPosition());
- if (Q3DScene::noSelectionPoint() == scene->selectionQueryPosition()) {
+ if (Q3DScene::invalidSelectionPoint() == scene->selectionQueryPosition()) {
updateSelectionState(SelectNone);
} else {
// Selections are one-shot, reset selection active to false before processing
- scene->setSelectionQueryPosition(Q3DScene::noSelectionPoint());
+ scene->setSelectionQueryPosition(Q3DScene::invalidSelectionPoint());
if (scene->isSlicingActive()) {
if (scene->isPointInPrimarySubView(m_inputPosition))
diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp
index e1a038cb..f289de46 100644
--- a/src/datavisualization/engine/bars3dcontroller.cpp
+++ b/src/datavisualization/engine/bars3dcontroller.cpp
@@ -204,8 +204,8 @@ void Bars3DController::handleSeriesVisibilityChangedBySender(QObject *sender)
QPoint Bars3DController::invalidSelectionPosition()
{
- static QPoint noSelectionPos(-1, -1);
- return noSelectionPos;
+ static QPoint invalidSelectionPos(-1, -1);
+ return invalidSelectionPos;
}
void Bars3DController::setAxisX(Q3DAbstractAxis *axis)
diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp
index 00eb145c..93901811 100644
--- a/src/datavisualization/engine/q3dbars.cpp
+++ b/src/datavisualization/engine/q3dbars.cpp
@@ -46,8 +46,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
* These default axes can be modified via axis accessors, but as soon any axis is set explicitly
* for the orientation, the default axis for that orientation is destroyed.
*
- * Q3DBars supports more than one series visible at the same time, but all series added to the
- * graph must have proxies with identical row and column counts for the graph to draw properly.
+ * Q3DBars supports more than one series visible at the same time. It is not necessary for all series
+ * to have the same amount of rows and columns.
* Row and column labels are taken from the first added series, unless explicitly defined to
* row and column axes.
*
@@ -67,8 +67,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
*
* \snippet doc_src_q3dbars_construction.cpp 0
*
- * Now Q3DBars is ready to receive data to be rendered. Add one row of 5 qreals into the data
- * set:
+ * Now Q3DBars is ready to receive data to be rendered. Create a series with one row of 5 values:
*
* \snippet doc_src_q3dbars_construction.cpp 1
*
@@ -96,7 +95,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
*/
/*!
- * Constructs a new 3D bar window.
+ * Constructs a new 3D bar graph.
*/
Q3DBars::Q3DBars()
: d_ptr(new Q3DBarsPrivate(this, geometry()))
@@ -138,7 +137,7 @@ Q3DBars::Q3DBars()
}
/*!
- * Destroys the 3D bar window.
+ * Destroys the 3D bar graph.
*/
Q3DBars::~Q3DBars()
{
diff --git a/src/datavisualization/engine/q3dscatter.cpp b/src/datavisualization/engine/q3dscatter.cpp
index f336bda3..d32c8ca2 100644
--- a/src/datavisualization/engine/q3dscatter.cpp
+++ b/src/datavisualization/engine/q3dscatter.cpp
@@ -55,7 +55,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
*
* \snippet doc_src_q3dscatter_construction.cpp 0
*
- * Now Q3DScatter is ready to receive data to be rendered. Add one set of 3 QVector3D items:
+ * Now Q3DScatter is ready to receive data to be rendered. Add one series of 3 QVector3D items:
*
* \snippet doc_src_q3dscatter_construction.cpp 1
*
@@ -79,7 +79,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
*/
/*!
- * Constructs a new 3D scatter window.
+ * Constructs a new 3D scatter graph.
*/
Q3DScatter::Q3DScatter()
: d_ptr(new Q3DScatterPrivate(this, geometry()))
@@ -121,7 +121,7 @@ Q3DScatter::Q3DScatter()
}
/*!
- * Destroys the 3D scatter window.
+ * Destroys the 3D scatter graph.
*/
Q3DScatter::~Q3DScatter()
{
diff --git a/src/datavisualization/engine/q3dscene.cpp b/src/datavisualization/engine/q3dscene.cpp
index 71e3c5a3..46b374cf 100644
--- a/src/datavisualization/engine/q3dscene.cpp
+++ b/src/datavisualization/engine/q3dscene.cpp
@@ -180,9 +180,9 @@ void Q3DScene::setSecondarySubViewport(const QRect &secondarySubViewport)
/*!
* \property Q3DScene::selectionQueryPosition
* This property contains the coordinates for the user input that should be processed
- * by the scene as selection. If this is set to value other than Q3DScene()::noSelectionPoint() the
+ * by the scene as selection. If this is set to value other than Q3DScene()::invalidSelectionPoint() the
* graph tries to select a data item at the given \a point within the main viewport.
- * After the rendering pass the property is returned to its default state of Q3DScene()::noSelectionPoint().
+ * After the rendering pass the property is returned to its default state of Q3DScene()::invalidSelectionPoint().
*/
void Q3DScene::setSelectionQueryPosition(const QPoint &point)
{
@@ -199,10 +199,13 @@ QPoint Q3DScene::selectionQueryPosition() const
return d_ptr->m_selectionQueryPosition;
}
-const QPoint Q3DScene::noSelectionPoint()
+/*!
+ * \return a QPoint signifying an invalid selection position.
+ */
+const QPoint Q3DScene::invalidSelectionPoint()
{
- static const QPoint noSelectionPos(-1, -1);
- return noSelectionPos;
+ static const QPoint invalidSelectionPos(-1, -1);
+ return invalidSelectionPos;
}
/*!
@@ -369,7 +372,7 @@ Q3DScenePrivate::Q3DScenePrivate(Q3DScene *q) :
m_light(),
m_isUnderSideCameraEnabled(false),
m_isSlicingActive(false),
- m_selectionQueryPosition(Q3DScene::noSelectionPoint())
+ m_selectionQueryPosition(Q3DScene::invalidSelectionPoint())
{
}
diff --git a/src/datavisualization/engine/q3dscene.h b/src/datavisualization/engine/q3dscene.h
index 5f034687..52de85bb 100644
--- a/src/datavisualization/engine/q3dscene.h
+++ b/src/datavisualization/engine/q3dscene.h
@@ -61,7 +61,7 @@ public:
void setSelectionQueryPosition(const QPoint &point);
QPoint selectionQueryPosition() const;
- static const QPoint noSelectionPoint();
+ static const QPoint invalidSelectionPoint();
void setSlicingActive(bool isSlicing);
bool isSlicingActive() const;
diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp
index 1655c338..664f76e7 100644
--- a/src/datavisualization/engine/q3dsurface.cpp
+++ b/src/datavisualization/engine/q3dsurface.cpp
@@ -68,7 +68,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
*
* \snippet doc_src_q3dsurface_construction.cpp 2
*
- * For the active data proxy set pointer of the data element:
+ * Create a new series and set data to it:
*
* \snippet doc_src_q3dsurface_construction.cpp 3
*
@@ -92,7 +92,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
*/
/*!
- * Constructs a new 3D surface window.
+ * Constructs a new 3D surface graph.
*/
Q3DSurface::Q3DSurface()
: d_ptr(new Q3DSurfacePrivate(this, geometry()))
@@ -107,8 +107,6 @@ Q3DSurface::Q3DSurface()
&Q3DSurface::themeChanged);
QObject::connect(d_ptr->m_shared, &Abstract3DController::shadowQualityChanged, this,
&Q3DSurface::shadowQualityChanged);
- QObject::connect(d_ptr->m_shared, &Surface3DController::surfaceVisibleChanged, this,
- &Q3DSurface::surfaceVisibleChanged);
QObject::connect(d_ptr->m_shared, &Abstract3DController::gridVisibleChanged, this,
&Q3DSurface::gridVisibleChanged);
QObject::connect(d_ptr->m_shared, &Abstract3DController::backgroundVisibleChanged, this,
@@ -124,7 +122,7 @@ Q3DSurface::Q3DSurface()
}
/*!
- * Destroys the 3D surface window.
+ * Destroys the 3D surface graph.
*/
Q3DSurface::~Q3DSurface()
{
diff --git a/src/datavisualization/engine/q3dsurface.h b/src/datavisualization/engine/q3dsurface.h
index 9bc04f78..e34bdad3 100644
--- a/src/datavisualization/engine/q3dsurface.h
+++ b/src/datavisualization/engine/q3dsurface.h
@@ -104,7 +104,6 @@ signals:
void labelStyleChanged(QDataVis::LabelStyle style);
void themeChanged(Q3DTheme *theme);
void shadowQualityChanged(QDataVis::ShadowQuality quality);
- void surfaceVisibleChanged(bool visible);
void gridVisibleChanged(bool visible);
void backgroundVisibleChanged(bool visible);
void smoothSurfaceEnabledChanged(bool enabled);
diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp
index 31c8b178..b1271c50 100644
--- a/src/datavisualization/engine/surface3dcontroller.cpp
+++ b/src/datavisualization/engine/surface3dcontroller.cpp
@@ -130,8 +130,8 @@ void Surface3DController::handleSeriesVisibilityChangedBySender(QObject *sender)
QPoint Surface3DController::invalidSelectionPosition()
{
- static QPoint noSelectionPoint(-1, -1);
- return noSelectionPoint;
+ static QPoint invalidSelectionPoint(-1, -1);
+ return invalidSelectionPoint;
}
void Surface3DController::addSeries(QAbstract3DSeries *series)
diff --git a/src/datavisualization/engine/surface3dcontroller_p.h b/src/datavisualization/engine/surface3dcontroller_p.h
index 56419d75..7a0b7f0e 100644
--- a/src/datavisualization/engine/surface3dcontroller_p.h
+++ b/src/datavisualization/engine/surface3dcontroller_p.h
@@ -109,7 +109,6 @@ public slots:
signals:
void smoothSurfaceEnabledChanged(bool enable);
- void surfaceVisibleChanged(bool visible);
void surfaceGridEnabledChanged(bool enable);
private:
diff --git a/src/datavisualization/global/qdatavisualizationenums.h b/src/datavisualization/global/qdatavisualizationenums.h
index a2027c44..0abc6c20 100644
--- a/src/datavisualization/global/qdatavisualizationenums.h
+++ b/src/datavisualization/global/qdatavisualizationenums.h
@@ -37,6 +37,7 @@ class QT_DATAVISUALIZATION_EXPORT QDataVis : public QObject
Q_ENUMS(ColorStyle)
public:
+ // TODO: Move to input handler (QTRD-2505)
enum InputState {
InputStateNone = 0,
InputStateOnScene,
@@ -46,6 +47,7 @@ public:
InputStateOnPinch
};
+ // TODO: Move to series (QTRD-2557)
enum MeshStyle {
MeshStyleBars = 0,
MeshStyleCubes = MeshStyleBars,
@@ -58,6 +60,7 @@ public:
MeshStylePoints
};
+ // TODO: Move to camera (QTRD-2505)
enum CameraPreset {
CameraPresetNone = -1,
CameraPresetFrontLow = 0,
@@ -86,6 +89,7 @@ public:
CameraPresetDirectlyBelow
};
+ // TODO: Move to theme
enum Theme {
ThemeQt,
ThemePrimaryColors,
@@ -122,12 +126,14 @@ public:
ShadowQualitySoftHigh
};
+ // TODO: remove
enum LabelStyle {
LabelStyleOpaque = 0,
LabelStyleFromTheme,
LabelStyleTransparent
};
+ // TODO: to theme
enum ColorStyle {
ColorStyleUniform = 0,
ColorStyleObjectGradient,
diff --git a/src/datavisualization/global/qtdatavisualizationenums.qdoc b/src/datavisualization/global/qtdatavisualizationenums.qdoc
index 6488f438..42b6e8ad 100644
--- a/src/datavisualization/global/qtdatavisualizationenums.qdoc
+++ b/src/datavisualization/global/qtdatavisualizationenums.qdoc
@@ -158,8 +158,9 @@
flag. When setting this mode flag, either \c SelectionRow or \c SelectionColumn must also
be set, but not both. Slicing is supported by Q3DBars and Q3DSurface only.
\value SelectionMultiSeries
- Setting this mode means that items for all series at same position are selected, instead
- of just the selected item. Multi-series selection is only supported for Q3DBars.
+ Setting this mode means that items for all series at same position are highlighted, instead
+ of just the selected item. The actual selection in the other series doesn't change.
+ Multi-series selection is only supported for Q3DBars.
*/
/*!