summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Korpipaa <tomi.korpipaa@qt.io>2023-01-25 10:17:39 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-01-27 11:30:48 +0000
commita3a3364fb273463b02bdec81533c38d5221ddb2b (patch)
tree7cf96118c9daa809dda3ec0bb8f4b26bf4a22cfa
parent2b4d222aa8892f9bcc5a5507d2a90615feed8999 (diff)
Fix example naming and categories
Remove 2 more irrelevant examples Fixes: QTBUG-110463 Change-Id: I9597f311d36fb79db45f6f64fb97bc5376372980 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> (cherry picked from commit fcb72898b2c8f05ee1a5d2e2e192cc3b9afba486) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--examples/datavisualization/CMakeLists.txt3
-rw-r--r--examples/datavisualization/bars/doc/src/bars.qdoc4
-rw-r--r--examples/datavisualization/bars/main.cpp1
-rw-r--r--examples/datavisualization/customitems/doc/src/customitems.qdoc4
-rw-r--r--examples/datavisualization/customitems/main.cpp2
-rw-r--r--examples/datavisualization/customproxy/doc/src/customproxy.qdoc9
-rw-r--r--examples/datavisualization/datavisualization.pro3
-rw-r--r--examples/datavisualization/draggableaxes/doc/src/draggableaxes.qdoc6
-rw-r--r--examples/datavisualization/itemmodel/CMakeLists.txt42
-rw-r--r--examples/datavisualization/itemmodel/doc/images/itemmodel-example-2.pngbin78536 -> 0 bytes
-rw-r--r--examples/datavisualization/itemmodel/doc/images/itemmodel-example.pngbin45381 -> 0 bytes
-rw-r--r--examples/datavisualization/itemmodel/doc/src/itemmodel.qdoc172
-rw-r--r--examples/datavisualization/itemmodel/itemmodel.pro15
-rw-r--r--examples/datavisualization/itemmodel/main.cpp279
-rw-r--r--examples/datavisualization/qml3doscilloscope/doc/src/qml3doscilloscope.qdoc12
-rw-r--r--examples/datavisualization/qmlaxisdrag/doc/src/qmlaxisdrag.qdoc12
-rw-r--r--examples/datavisualization/qmlaxisformatter/doc/src/qmlaxisformatter.qdoc12
-rw-r--r--examples/datavisualization/qmlbars/doc/src/qmlbars.qdoc10
-rw-r--r--examples/datavisualization/qmlmultigraph/CMakeLists.txt53
-rw-r--r--examples/datavisualization/qmlmultigraph/doc/images/qmlmultigraph-example.pngbin82347 -> 0 bytes
-rw-r--r--examples/datavisualization/qmlmultigraph/doc/src/qmlmultigraph.qdoc31
-rw-r--r--examples/datavisualization/qmlmultigraph/main.cpp33
-rw-r--r--examples/datavisualization/qmlmultigraph/qml/qmlmultigraph/Data.qml33
-rw-r--r--examples/datavisualization/qmlmultigraph/qml/qmlmultigraph/main.qml200
-rw-r--r--examples/datavisualization/qmlmultigraph/qmlmultigraph.pro12
-rw-r--r--examples/datavisualization/qmlmultigraph/qmlmultigraph.qrc6
-rw-r--r--examples/datavisualization/qmlscatter/doc/src/qmlscatter.qdoc12
-rw-r--r--examples/datavisualization/qmlspectrogram/doc/src/qmlspectrogram.qdoc12
-rw-r--r--examples/datavisualization/qmlspectrogram/qml/qmlspectrogram/main.qml2
-rw-r--r--examples/datavisualization/qmlsurface/doc/src/qmlsurface.qdoc12
-rw-r--r--examples/datavisualization/qmlsurfacelayers/CMakeLists.txt56
-rw-r--r--examples/datavisualization/qmlsurfacelayers/doc/images/qmlsurfacelayers-example.pngbin91579 -> 0 bytes
-rw-r--r--examples/datavisualization/qmlsurfacelayers/doc/src/qmlsurfacelayers.qdoc67
-rw-r--r--examples/datavisualization/qmlsurfacelayers/layer_1.pngbin34540 -> 0 bytes
-rw-r--r--examples/datavisualization/qmlsurfacelayers/layer_2.pngbin10563 -> 0 bytes
-rw-r--r--examples/datavisualization/qmlsurfacelayers/layer_3.pngbin13022 -> 0 bytes
-rw-r--r--examples/datavisualization/qmlsurfacelayers/main.cpp38
-rw-r--r--examples/datavisualization/qmlsurfacelayers/qml/qmlsurfacelayers/main.qml293
-rw-r--r--examples/datavisualization/qmlsurfacelayers/qmlsurfacelayers.pro12
-rw-r--r--examples/datavisualization/qmlsurfacelayers/qmlsurfacelayers.qrc10
-rw-r--r--examples/datavisualization/scatter/doc/src/scatter.qdoc6
-rw-r--r--examples/datavisualization/surface/doc/src/surface.qdoc4
-rw-r--r--examples/datavisualization/texturesurface/doc/src/texturesurface.qdoc10
-rw-r--r--examples/datavisualization/volumetric/doc/src/volumetric.qdoc4
-rw-r--r--src/datavisualization/data/qitemmodelbardataproxy.cpp2
-rw-r--r--src/datavisualization/data/qitemmodelscatterdataproxy.cpp2
-rw-r--r--src/datavisualization/data/qitemmodelsurfacedataproxy.cpp2
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-index.qdoc2
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-overview.qdoc13
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc2
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc4
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc4
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc4
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization.qdoc11
-rw-r--r--src/datavisualization/engine/q3dbars.cpp2
-rw-r--r--src/datavisualization/engine/q3dscatter.cpp2
-rw-r--r--src/datavisualization/engine/q3dsurface.cpp2
-rw-r--r--src/datavisualization/engine/qabstract3dgraph.cpp2
58 files changed, 109 insertions, 1437 deletions
diff --git a/examples/datavisualization/CMakeLists.txt b/examples/datavisualization/CMakeLists.txt
index f7059079..6081fe25 100644
--- a/examples/datavisualization/CMakeLists.txt
+++ b/examples/datavisualization/CMakeLists.txt
@@ -5,9 +5,7 @@ if(TARGET Qt::Quick)
qt_internal_add_example(qmlbars)
qt_internal_add_example(qmlscatter)
qt_internal_add_example(qmlsurface)
- qt_internal_add_example(qmlmultigraph)
qt_internal_add_example(qml3doscilloscope)
- qt_internal_add_example(qmlsurfacelayers)
qt_internal_add_example(qmlaxisformatter)
qt_internal_add_example(qmlaxisdrag)
qt_internal_add_example(qmlspectrogram)
@@ -15,7 +13,6 @@ endif()
if(NOT ANDROID AND NOT IOS AND NOT WINRT)
qt_internal_add_example(bars)
qt_internal_add_example(customproxy)
- qt_internal_add_example(itemmodel)
qt_internal_add_example(scatter)
qt_internal_add_example(surface)
qt_internal_add_example(draggableaxes)
diff --git a/examples/datavisualization/bars/doc/src/bars.qdoc b/examples/datavisualization/bars/doc/src/bars.qdoc
index 884408de..b3cb8df8 100644
--- a/examples/datavisualization/bars/doc/src/bars.qdoc
+++ b/examples/datavisualization/bars/doc/src/bars.qdoc
@@ -3,7 +3,9 @@
/*!
\example bars
- \title Bars Example
+ \meta tags {DataVisualization, Q3DBars}
+ \meta category {Graphics}
+ \title Bar Graph
\ingroup qtdatavisualization_examples
\brief Using Q3DBars in a widget application.
diff --git a/examples/datavisualization/bars/main.cpp b/examples/datavisualization/bars/main.cpp
index f2ead896..69e7e8a7 100644
--- a/examples/datavisualization/bars/main.cpp
+++ b/examples/datavisualization/bars/main.cpp
@@ -51,6 +51,7 @@ int main(int argc, char **argv)
QComboBox *themeList = new QComboBox(widget);
themeList->addItem(QStringLiteral("Qt"));
themeList->addItem(QStringLiteral("Primary Colors"));
+ themeList->addItem(QStringLiteral("Digia"));
themeList->addItem(QStringLiteral("Stone Moss"));
themeList->addItem(QStringLiteral("Army Blue"));
themeList->addItem(QStringLiteral("Retro"));
diff --git a/examples/datavisualization/customitems/doc/src/customitems.qdoc b/examples/datavisualization/customitems/doc/src/customitems.qdoc
index 9cc3ba25..3ff39332 100644
--- a/examples/datavisualization/customitems/doc/src/customitems.qdoc
+++ b/examples/datavisualization/customitems/doc/src/customitems.qdoc
@@ -3,7 +3,9 @@
/*!
\example customitems
- \title Custom Items Example
+ \meta tags {DataVisualization, Q3DSurface, QCustom3DItem, Surface Graph}
+ \meta category {Graphics}
+ \title Custom Items in Graph
\ingroup qtdatavisualization_examples
\brief Adding custom items to a surface graph.
\since QtDataVisualization 1.1
diff --git a/examples/datavisualization/customitems/main.cpp b/examples/datavisualization/customitems/main.cpp
index 55f91ee4..c71d093a 100644
--- a/examples/datavisualization/customitems/main.cpp
+++ b/examples/datavisualization/customitems/main.cpp
@@ -90,7 +90,7 @@ int main(int argc, char **argv)
label4->setFont(font);
vLayoutRight->addWidget(label4);
- widget->setWindowTitle(QStringLiteral("Custom Items Example"));
+ widget->setWindowTitle(QStringLiteral("Custom Items in Graph"));
widget->show();
diff --git a/examples/datavisualization/customproxy/doc/src/customproxy.qdoc b/examples/datavisualization/customproxy/doc/src/customproxy.qdoc
index bdaa7502..42cd2768 100644
--- a/examples/datavisualization/customproxy/doc/src/customproxy.qdoc
+++ b/examples/datavisualization/customproxy/doc/src/customproxy.qdoc
@@ -3,7 +3,9 @@
/*!
\example customproxy
- \title Custom Proxy Example
+ \meta tags {DataVisualization, Q3DBars, Bar Graph}
+ \meta category {Graphics}
+ \title Data from Custom Proxy
\ingroup qtdatavisualization_examples
\brief Using Q3DBars with a custom proxy.
@@ -11,9 +13,8 @@
\image customproxy-example.png
- The interesting thing about custom proxy example is the custom dataset and the corresponding
- proxy usage, so we concentrate on that and skip explaining the basic Q3DBars functionality
- - for that see \l{Bars Example}.
+ This example describes how to use a custom dataset and the corresponding proxy. For more
+ information about basic Q3DBars functionality, see the \l{Bar Graph} example.
This example defines a simple flexible data set \c VariantDataSet where each data item is a
a variant list. Each item can have multiple different values, identified by their index in
diff --git a/examples/datavisualization/datavisualization.pro b/examples/datavisualization/datavisualization.pro
index f00231f3..3d108577 100644
--- a/examples/datavisualization/datavisualization.pro
+++ b/examples/datavisualization/datavisualization.pro
@@ -3,9 +3,7 @@ qtHaveModule(quick) {
SUBDIRS += qmlbars \
qmlscatter \
qmlsurface \
- qmlmultigraph \
qml3doscilloscope \
- qmlsurfacelayers \
qmlaxisformatter \
qmlaxisdrag \
qmlspectrogram
@@ -14,7 +12,6 @@ qtHaveModule(quick) {
!android:!ios:!winrt {
SUBDIRS += bars \
customproxy \
- itemmodel \
scatter \
surface \
draggableaxes \
diff --git a/examples/datavisualization/draggableaxes/doc/src/draggableaxes.qdoc b/examples/datavisualization/draggableaxes/doc/src/draggableaxes.qdoc
index 3a03a5bd..53810bb2 100644
--- a/examples/datavisualization/draggableaxes/doc/src/draggableaxes.qdoc
+++ b/examples/datavisualization/draggableaxes/doc/src/draggableaxes.qdoc
@@ -3,12 +3,14 @@
/*!
\example draggableaxes
- \title Axis Range Dragging With Labels Example
+ \meta tags {DataVisualization, Q3DScatter, Custom Input Handler, Scatter Graph}
+ \meta category {Graphics}
+ \title Input Handling for Axes
\ingroup qtdatavisualization_examples
\brief Implementing a custom input handler to support axis dragging.
\since QtDataVisualization 1.1
- The Axis Range Dragging example shows how to customize the 3D graph controls in a widget
+ The Input Handling for Axes example shows how to customize the 3D graph controls in a widget
application to allow changing axis ranges by clicking on an axis label and dragging. This is
done by implementing a custom input handler to react to selection signals emitted from the
graph.
diff --git a/examples/datavisualization/itemmodel/CMakeLists.txt b/examples/datavisualization/itemmodel/CMakeLists.txt
deleted file mode 100644
index a65ad071..00000000
--- a/examples/datavisualization/itemmodel/CMakeLists.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright (C) 2022 The Qt Company Ltd.
-# SPDX-License-Identifier: BSD-3-Clause
-
-cmake_minimum_required(VERSION 3.16)
-project(itemmodel LANGUAGES CXX)
-
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
-
-if(NOT DEFINED INSTALL_EXAMPLESDIR)
- set(INSTALL_EXAMPLESDIR "examples")
-endif()
-
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}")
-
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS Gui)
-find_package(Qt6 COMPONENTS Widgets)
-find_package(Qt6 COMPONENTS DataVisualization)
-
-qt_add_executable(itemmodel
- main.cpp
-)
-set_target_properties(itemmodel PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-target_link_libraries(itemmodel PUBLIC
- Qt::Core
- Qt::Gui
- Qt::Widgets
- Qt::DataVisualization
-)
-
-install(TARGETS itemmodel
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
-)
diff --git a/examples/datavisualization/itemmodel/doc/images/itemmodel-example-2.png b/examples/datavisualization/itemmodel/doc/images/itemmodel-example-2.png
deleted file mode 100644
index 677b7eec..00000000
--- a/examples/datavisualization/itemmodel/doc/images/itemmodel-example-2.png
+++ /dev/null
Binary files differ
diff --git a/examples/datavisualization/itemmodel/doc/images/itemmodel-example.png b/examples/datavisualization/itemmodel/doc/images/itemmodel-example.png
deleted file mode 100644
index c042f84d..00000000
--- a/examples/datavisualization/itemmodel/doc/images/itemmodel-example.png
+++ /dev/null
Binary files differ
diff --git a/examples/datavisualization/itemmodel/doc/src/itemmodel.qdoc b/examples/datavisualization/itemmodel/doc/src/itemmodel.qdoc
deleted file mode 100644
index bc428f4d..00000000
--- a/examples/datavisualization/itemmodel/doc/src/itemmodel.qdoc
+++ /dev/null
@@ -1,172 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
-
-/*!
- \example itemmodel
- \title Item Model Example
- \ingroup qtdatavisualization_examples
- \brief Using an item model as data source for Q3DBars.
-
- The item model example shows how to make a simple 3D bar graph using Q3DBars and how to modify
- the data being drawn at run-time. The example shows how to:
-
- \list
- \li Create an application with Q3DBars and widgets
- \li Use QItemModelBarDataProxy to set data to the graph
- \li Use a table widget to modify the data in the graph
- \endlist
-
- For instructions about how to interact with the graph, see \l{Qt Data Visualization Interacting with Data}{this page}.
-
- \image itemmodel-example-2.png
-
- \include examples-run.qdocinc
-
- \section1 Creating the Application
-
- First, in main.cpp, we create a QApplication, instantiate Q3DBars and a window container for it:
-
- \snippet itemmodel/main.cpp 0
-
- The call to QWidget::createWindowContainer is required, as all data visualization graph classes
- (Q3DBars, Q3DScatter, and Q3DSurface) inherit QWindow. Any class inheriting QWindow cannot be used
- as a widget any other way.
-
- Then we'll create a layout and add the graph and the table widget into it:
-
- \snippet itemmodel/main.cpp 1
-
- The table widget is going to be used to display the numerical data being inserted into the
- graph, and to modify it (See \l {Adding data to the graph} and \l {Interacting with the data}).
-
- We need to instantiate QItemModelBarDataProxy and a QBar3DSeries for it, and give the series
- to the graph:
-
- \snippet itemmodel/main.cpp 2
-
- Here we tell the proxy to directly map the model's rows and columns into the proxy's rows and
- columns instead of defining row and column roles to map for them. Then we give the model from
- the table widget to the proxy. We also create a series instance and set the proxy to it.
- We customize the series visuals a bit by changing the object mesh to pyramids, and finally
- add the series to the graph.
-
- Next, let's create another class to handle the data addition and other interaction with the
- graph. Let's call it \c GraphDataGenerator (See \l {Setting up the graph} and
- \l {Adding data to the graph} for details) and connect some signals between QBar3DSeries,
- \c GraphDataGenerator, and QTableWidget (See \l {Interacting with the data} for a closer look):
-
- \snippet itemmodel/main.cpp 3
-
- The application main is done and we can show the graph and start the event loop:
-
- \snippet itemmodel/main.cpp 4
-
- \section1 Setting up the Graph
-
- Let's set up the visual attributes for the graph in the constructor of \c GraphDataGenerator:
-
- \snippet itemmodel/main.cpp 5
- \snippet itemmodel/main.cpp 6
- \snippet itemmodel/main.cpp 7
-
- First we set bar thickness ratio to 1.0, which means bars will be as wide as they are deep. 1.0
- is also the default value, so the line is basically unnecessary. It's left there so you could
- easily try how changing it affects the graph. The second line sets bar spacings to 0.2, which
- means there will be a gap of 20% of the bar's thickness between the bars in both directions.
-
- We want to be able to select rows of data for a closer inspection, so we set the selection mode
- to slice item and row. This means that whenever we select a bar in the graph, the whole row will be
- displayed separately and the selected bar will be highlighted.
-
- We don't want to use the default colors, so we set one of the predefined themes as the active theme.
-
- Next line sets the font to \c Impact. If your system doesn't have it, it will be replaced by
- the system default.
-
- And finally, we set the camera position to one of the predefined camera positions.
- Now the initial graph settings are done.
-
- \note You do not need to set any of these in case you're happy with the defaults. You can
- easily try them by commenting out the contents of the constructor.
-
- \section1 Adding Data to the Graph
-
- We created the data generator in the application main and gave it the graph and the table
- widget as parameters:
-
- \code
- GraphDataGenerator generator(graph, tableWidget);
- \endcode
-
- We added a separate start method to the generator, so that it wouldn't start doing anything
- until everything else is set up. We then called the method when starting the application:
-
- \code
- generator.start();
- \endcode
-
- Let's have a look at the contents of the \c start() method:
-
- \snippet itemmodel/main.cpp 8
-
- The main thing \c start() does is set up the data model. It also activates a timer for getting
- the accurate dimensions of the table widget after it's been filled with data. The reason we
- do this is that the widget doesn't know its final visual domensions until all the data has been
- inserted to it and it has been shown. The data timer usage is not vital for the
- application, so we won't take a closer look at it. It's just there to make QTableWidget look better.
-
- In \c setupModel() we first introduce the row and column labels, and the actual data:
-
- \snippet itemmodel/main.cpp 9
-
- Then we set up the axes:
-
- \snippet itemmodel/main.cpp 10
-
- Next we will set up the table widget:
-
- \snippet itemmodel/main.cpp 11
-
- After that all that's left is adding the data to the table widget:
-
- \snippet itemmodel/main.cpp 12
-
- Now we have a bar graph and a table widget, both displaying the same data.
-
- You're probably wondering how the data can be displayed in the graph, as the only thing we did
- was add it to the table widget? That's because of what we did earlier, in the application main:
-
- \snippet itemmodel/main.cpp 2
-
- We created QItemModelBarDataProxy instance, and gave the proxy the model of the table widget
- we just created. The proxy maps the rows and the columns in the model of the table widget into
- rows and columns for itself directly, as we set the QItemModelBarDataProxy::useModelCategories
- property to true, and the graph gets the data to be displayed via the series that owns the proxy.
-
- \section1 Interacting with the Data
-
- We made a couple of signal connections in the application main earlier:
-
- \snippet itemmodel/main.cpp 3
-
- Now we'll find out what these were for.
-
- The first one connects a signal from Q3DBars to the \c GraphDataGenerator. Signal
- QBar3DSeries::selectedBarChanged() is emitted when a bar is selected from the series. We connect
- that to a method in the data generator that selects the same data item in the table widget:
-
- \snippet itemmodel/main.cpp 13
-
- The second connection does the opposite; it connects a signal from the table widget to a
- method in the data generator. The method then selects the corresponding bar in the series:
-
- \snippet itemmodel/main.cpp 14
-
- You can even select an item in the widget and change the value of it, and the new value is
- updated to the graph. This is handled again by the proxy with mapping between the data
- in the table widget and itself.
-
- \image itemmodel-example.png
-
- \section1 Example Contents
-*/
diff --git a/examples/datavisualization/itemmodel/itemmodel.pro b/examples/datavisualization/itemmodel/itemmodel.pro
deleted file mode 100644
index 60b36b98..00000000
--- a/examples/datavisualization/itemmodel/itemmodel.pro
+++ /dev/null
@@ -1,15 +0,0 @@
-android|ios|winrt {
- error( "This example is not supported for android, ios, or winrt." )
-}
-
-!include( ../examples.pri ) {
- error( "Couldn't find the examples.pri file!" )
-}
-
-SOURCES += main.cpp
-
-QT += widgets
-requires(qtConfig(tablewidget))
-
-OTHER_FILES += doc/src/* \
- doc/images/*
diff --git a/examples/datavisualization/itemmodel/main.cpp b/examples/datavisualization/itemmodel/main.cpp
deleted file mode 100644
index de6d8713..00000000
--- a/examples/datavisualization/itemmodel/main.cpp
+++ /dev/null
@@ -1,279 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
-
-#include <QtDataVisualization/q3dbars.h>
-#include <QtDataVisualization/qcategory3daxis.h>
-#include <QtDataVisualization/qitemmodelbardataproxy.h>
-#include <QtDataVisualization/qvalue3daxis.h>
-#include <QtDataVisualization/q3dscene.h>
-#include <QtDataVisualization/q3dcamera.h>
-#include <QtDataVisualization/qbar3dseries.h>
-#include <QtDataVisualization/q3dtheme.h>
-
-#include <QtWidgets/QApplication>
-#include <QtWidgets/QVBoxLayout>
-#include <QtWidgets/QTableWidget>
-#include <QtGui/QScreen>
-#include <QtCore/QRandomGenerator>
-#include <QtCore/QTimer>
-#include <QtGui/QFont>
-#include <QtCore/QDebug>
-#include <QtWidgets/QHeaderView>
-#include <QtWidgets/QMessageBox>
-
-#define USE_STATIC_DATA
-
-class GraphDataGenerator : public QObject
-{
-public:
- explicit GraphDataGenerator(Q3DBars *bargraph, QTableWidget *tableWidget);
- ~GraphDataGenerator();
-
- void setupModel();
- void addRow();
- void changeStyle();
- void changePresetCamera();
- void changeTheme();
- void start();
- void selectFromTable(const QPoint &selection);
- void selectedFromTable(int currentRow, int currentColumn, int previousRow, int previousColumn);
- void fixTableSize();
-
-private:
- Q3DBars *m_graph;
- QTimer *m_dataTimer;
- int m_columnCount;
- int m_rowCount;
- QTableWidget *m_tableWidget; // not owned
-};
-
-GraphDataGenerator::GraphDataGenerator(Q3DBars *bargraph, QTableWidget *tableWidget)
- : m_graph(bargraph),
- m_dataTimer(0),
- m_columnCount(100),
- m_rowCount(50),
- m_tableWidget(tableWidget)
-{
- //! [5]
- // Set up bar specifications; make the bars as wide as they are deep,
- // and add a small space between them
- m_graph->setBarThickness(1.0f);
- m_graph->setBarSpacing(QSizeF(0.2, 0.2));
-
- //! [5]
-#ifndef USE_STATIC_DATA
- // Set up sample space; make it as deep as it's wide
- m_graph->rowAxis()->setRange(0, m_rowCount);
- m_graph->columnAxis()->setRange(0, m_columnCount);
- m_tableWidget->setColumnCount(m_columnCount);
-
- // Set selection mode to full
- m_graph->setSelectionMode(QAbstract3DGraph::SelectionItemRowAndColumn);
-
- // Hide axis labels by explicitly setting one empty string as label list
- m_graph->rowAxis()->setLabels(QStringList(QString()));
- m_graph->columnAxis()->setLabels(QStringList(QString()));
-
- m_graph->seriesList().at(0)->setItemLabelFormat(QStringLiteral("@valueLabel"));
-#else
- //! [6]
- // Set selection mode to slice row
- m_graph->setSelectionMode(QAbstract3DGraph::SelectionItemAndRow | QAbstract3DGraph::SelectionSlice);
-
- //! [6]
-#endif
-
- //! [7]
- // Set theme
- m_graph->activeTheme()->setType(Q3DTheme::ThemeDigia);
-
- // Set font
- QFont font = QFont("Impact", 20);
- font.setStyleHint(QFont::SansSerif);
- m_graph->activeTheme()->setFont(font);
-
- // Set preset camera position
- m_graph->scene()->activeCamera()->setCameraPreset(Q3DCamera::CameraPresetFront);
- //! [7]
-}
-
-GraphDataGenerator::~GraphDataGenerator()
-{
- if (m_dataTimer) {
- m_dataTimer->stop();
- delete m_dataTimer;
- }
- delete m_graph;
-}
-
-void GraphDataGenerator::start()
-{
-#ifndef USE_STATIC_DATA
- m_dataTimer = new QTimer();
- m_dataTimer->setTimerType(Qt::CoarseTimer);
- QObject::connect(m_dataTimer, &QTimer::timeout, this, &GraphDataGenerator::addRow);
- m_dataTimer->start(0);
- m_tableWidget->setFixedWidth(m_graph->width());
-#else
- //! [8]
- setupModel();
-
- // Table needs to be shown before the size of its headers can be accurately obtained,
- // so we postpone it a bit
- m_dataTimer = new QTimer();
- m_dataTimer->setSingleShot(true);
- QObject::connect(m_dataTimer, &QTimer::timeout, this, &GraphDataGenerator::fixTableSize);
- m_dataTimer->start(0);
- //! [8]
-#endif
-}
-
-void GraphDataGenerator::setupModel()
-{
- //! [9]
- // Set up row and column names
- QStringList days;
- days << "Monday" << "Tuesday" << "Wednesday" << "Thursday" << "Friday" << "Saturday" << "Sunday";
- QStringList weeks;
- weeks << "week 1" << "week 2" << "week 3" << "week 4" << "week 5";
-
- // Set up data Mon Tue Wed Thu Fri Sat Sun
- float hours[5][7] = {{2.0f, 1.0f, 3.0f, 0.2f, 1.0f, 5.0f, 10.0f}, // week 1
- {0.5f, 1.0f, 3.0f, 1.0f, 2.0f, 2.0f, 3.0f}, // week 2
- {1.0f, 1.0f, 2.0f, 1.0f, 4.0f, 4.0f, 4.0f}, // week 3
- {0.0f, 1.0f, 0.0f, 0.0f, 2.0f, 2.0f, 0.3f}, // week 4
- {3.0f, 3.0f, 6.0f, 2.0f, 2.0f, 1.0f, 1.0f}}; // week 5
- //! [9]
-
- // Add labels
- //! [10]
- m_graph->rowAxis()->setTitle("Week of year");
- m_graph->rowAxis()->setTitleVisible(true);
- m_graph->columnAxis()->setTitle("Day of week");
- m_graph->columnAxis()->setTitleVisible(true);
- m_graph->valueAxis()->setTitle("Hours spent on the Internet");
- m_graph->valueAxis()->setTitleVisible(true);
- m_graph->valueAxis()->setLabelFormat("%.1f h");
- //! [10]
-
- //! [11]
- m_tableWidget->setRowCount(5);
- m_tableWidget->setColumnCount(7);
- m_tableWidget->setHorizontalHeaderLabels(days);
- m_tableWidget->setVerticalHeaderLabels(weeks);
- m_tableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- m_tableWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- m_tableWidget->setCurrentCell(-1, -1);
- m_tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
- //! [11]
-
- //! [12]
- for (int week = 0; week < weeks.size(); week++) {
- for (int day = 0; day < days.size(); day++) {
- QModelIndex index = m_tableWidget->model()->index(week, day);
- m_tableWidget->model()->setData(index, hours[week][day]);
- }
- }
- //! [12]
-}
-
-void GraphDataGenerator::addRow()
-{
- m_tableWidget->model()->insertRow(0);
- if (m_tableWidget->model()->rowCount() > m_rowCount)
- m_tableWidget->model()->removeRow(m_rowCount);
- for (int i = 0; i < m_columnCount; i++) {
- QModelIndex index = m_tableWidget->model()->index(0, i);
- m_tableWidget->model()->setData(index,
- ((float)i / (float)m_columnCount) / 2.0f +
- (float)(QRandomGenerator::global()->bounded(30)) / 100.0f);
- }
- m_tableWidget->resizeColumnsToContents();
-}
-
-//! [13]
-void GraphDataGenerator::selectFromTable(const QPoint &selection)
-{
- m_tableWidget->setFocus();
- m_tableWidget->setCurrentCell(selection.x(), selection.y());
-}
-//! [13]
-
-//! [14]
-void GraphDataGenerator::selectedFromTable(int currentRow, int currentColumn,
- int previousRow, int previousColumn)
-{
- Q_UNUSED(previousRow);
- Q_UNUSED(previousColumn);
- m_graph->seriesList().at(0)->setSelectedBar(QPoint(currentRow, currentColumn));
-}
-//! [14]
-
-void GraphDataGenerator::fixTableSize()
-{
- int width = m_tableWidget->horizontalHeader()->length();
- width += m_tableWidget->verticalHeader()->width();
- m_tableWidget->setFixedWidth(width + 2);
- int height = m_tableWidget->verticalHeader()->length();
- height += m_tableWidget->horizontalHeader()->height();
- m_tableWidget->setFixedHeight(height + 2);
-}
-
-int main(int argc, char **argv)
-{
- qputenv("QSG_RHI_BACKEND", "opengl");
- //! [0]
- QApplication app(argc, argv);
- Q3DBars *graph = new Q3DBars();
- QWidget *container = QWidget::createWindowContainer(graph);
- //! [0]
-
- if (!graph->hasContext()) {
- QMessageBox msgBox;
- msgBox.setText("Couldn't initialize the OpenGL context.");
- msgBox.exec();
- return -1;
- }
-
- QSize screenSize = graph->screen()->size();
- container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 2));
- container->setMaximumSize(screenSize);
- container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- container->setFocusPolicy(Qt::StrongFocus);
-
- //! [1]
- QWidget widget;
- QVBoxLayout *layout = new QVBoxLayout(&widget);
- QTableWidget *tableWidget = new QTableWidget(&widget);
- layout->addWidget(container, 1);
- layout->addWidget(tableWidget, 1, Qt::AlignHCenter);
- //! [1]
-
- tableWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
- tableWidget->setAlternatingRowColors(true);
- widget.setWindowTitle(QStringLiteral("Hours spent on the Internet"));
-
- //! [2]
- // Since we are dealing with QTableWidget, the model will already have data sorted properly
- // into rows and columns, so we simply set useModelCategories property to true to utilize this.
- QItemModelBarDataProxy *proxy = new QItemModelBarDataProxy(tableWidget->model());
- proxy->setUseModelCategories(true);
- QBar3DSeries *series = new QBar3DSeries(proxy);
- series->setMesh(QAbstract3DSeries::MeshPyramid);
- graph->addSeries(series);
- //! [2]
-
- //! [3]
- GraphDataGenerator generator(graph, tableWidget);
- QObject::connect(series, &QBar3DSeries::selectedBarChanged, &generator,
- &GraphDataGenerator::selectFromTable);
- QObject::connect(tableWidget, &QTableWidget::currentCellChanged, &generator,
- &GraphDataGenerator::selectedFromTable);
- //! [3]
-
- //! [4]
- widget.show();
- generator.start();
- return app.exec();
- //! [4]
-}
diff --git a/examples/datavisualization/qml3doscilloscope/doc/src/qml3doscilloscope.qdoc b/examples/datavisualization/qml3doscilloscope/doc/src/qml3doscilloscope.qdoc
index 7acfc40b..4abafce1 100644
--- a/examples/datavisualization/qml3doscilloscope/doc/src/qml3doscilloscope.qdoc
+++ b/examples/datavisualization/qml3doscilloscope/doc/src/qml3doscilloscope.qdoc
@@ -3,18 +3,20 @@
/*!
\example qml3doscilloscope
- \title Qt Quick 2 Oscilloscope Example
- \ingroup qtdatavisualization_examples
+ \meta tags {DataVisualization, Surface3D, Dynamic Data, Surface Graph}
+ \meta category {Graphics}
+ \title Surface Oscilloscope
+ \ingroup qtdatavisualization_qmlexamples
\brief Example of a hybrid C++ and QML application.
- The Qt Quick 2 oscilloscope example shows how to combine C++ and QML in an application,
+ The oscilloscope example shows how to combine C++ and QML in an application,
as well as showing data that changes realtime.
\image qml3doscilloscope-example.png
The interesting thing about this example is combining C++ and QML, so we'll concentrate on
- that and skip explaining the basic functionality - for
- more detailed QML example documentation, see \l{Qt Quick 2 Scatter Example}.
+ that and skip explaining the basic functionality - for more detailed QML example documentation,
+ see \l{Simple Scatter Graph}.
\include examples-run.qdocinc
diff --git a/examples/datavisualization/qmlaxisdrag/doc/src/qmlaxisdrag.qdoc b/examples/datavisualization/qmlaxisdrag/doc/src/qmlaxisdrag.qdoc
index 67c9d019..70eaa9ca 100644
--- a/examples/datavisualization/qmlaxisdrag/doc/src/qmlaxisdrag.qdoc
+++ b/examples/datavisualization/qmlaxisdrag/doc/src/qmlaxisdrag.qdoc
@@ -3,12 +3,14 @@
/*!
\example qmlaxisdrag
- \title Qt Quick 2 Axis Dragging Example
- \ingroup qtdatavisualization_examples
- \brief Implementing axis dragging in QML.
+ \meta tags {DataVisualization, Scatter3D, Custom Input Handler, Dynamic Data, Scatter Graph}
+ \meta category {Graphics}
+ \title Axis Dragging
+ \ingroup qtdatavisualization_qmlexamples
+ \brief Implementing axis dragging with a custom input handler in QML.
\since QtDataVisualization 1.1
- The Qt Quick 2 axis dragging example concentrates on showing how to implement axis range
+ The axis dragging example concentrates on showing how to implement axis range
changing by dragging axis labels in QML. It also gives a quick peek to two other new features
in Qt Data Visualization 1.1: orthographic projection and dynamic custom item handling.
@@ -71,7 +73,7 @@
\snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 7
For a more sophisticated conversion from mouse movement to axis range update, see
- \l{Axis Range Dragging With Labels Example}{this example}.
+ \l{Input Handling for Axes}.
\section1 Other Features
diff --git a/examples/datavisualization/qmlaxisformatter/doc/src/qmlaxisformatter.qdoc b/examples/datavisualization/qmlaxisformatter/doc/src/qmlaxisformatter.qdoc
index 6b72270b..3dd1075f 100644
--- a/examples/datavisualization/qmlaxisformatter/doc/src/qmlaxisformatter.qdoc
+++ b/examples/datavisualization/qmlaxisformatter/doc/src/qmlaxisformatter.qdoc
@@ -3,19 +3,21 @@
/*!
\example qmlaxisformatter
- \title Qt Quick 2 Axis Formatter Example
- \ingroup qtdatavisualization_examples
+ \meta tags {DataVisualization, Scatter3D, Custom Axis Formatter, Scatter Graph}
+ \meta category {Graphics}
+ \title Axis Formatters
+ \ingroup qtdatavisualization_qmlexamples
\brief Example of a hybrid C++ and QML application demonstrating different axis formatters.
\since QtDataVisualization 1.1
- The Qt Quick axis formatter example shows how to use predefined axis formatters and how to
+ The Qt Quick axis formatters example shows how to use predefined axis formatters and how to
create a custom one.
\image qmlaxisformatter-example.png
The interesting thing about this example is axis formatters, so we'll concentrate on
that and skip explaining the basic functionality - for
- more detailed QML example documentation, see \l{Qt Quick 2 Scatter Example}.
+ more detailed QML example documentation, see \l{Simple Scatter Graph}.
\include examples-run.qdocinc
@@ -73,7 +75,7 @@
\snippet qmlaxisformatter/customformatter.cpp 3
To expose our new custom formatter to the QML, we must declare it and make it a QML module.
- Doing this was introduced in the \l{Qt Quick 2 Oscilloscope Example} so we will skip it here.
+ Doing this was introduced in the \l{Surface Oscilloscope} so we will skip it here.
\section1 QML
diff --git a/examples/datavisualization/qmlbars/doc/src/qmlbars.qdoc b/examples/datavisualization/qmlbars/doc/src/qmlbars.qdoc
index 09175f4d..42b0854a 100644
--- a/examples/datavisualization/qmlbars/doc/src/qmlbars.qdoc
+++ b/examples/datavisualization/qmlbars/doc/src/qmlbars.qdoc
@@ -3,18 +3,20 @@
/*!
\example qmlbars
- \title Qt Quick 2 Bars Example
- \ingroup qtdatavisualization_examples
+ \meta tags {DataVisualization, Barsr3D, Multiple Series}
+ \meta category {Graphics}
+ \title Simple Bar Graph
+ \ingroup qtdatavisualization_qmlexamples
\brief Using Bars3D in a QML application.
- The Qt Quick 2 bars example shows how to make a simple 3D bar graph using Bars3D and Qt
+ The bars example shows how to make a simple 3D bar graph using Bars3D and Qt
Quick 2.
\image qmlbars-example.png
The interesting thing about this example is switching series and displaying more than one series
at once. We'll concentrate on those and skip explaining the basic Bars3D functionality - for
- more detailed QML example documentation, see \l{Qt Quick 2 Scatter Example}.
+ more detailed QML example documentation, see \l{Simple Scatter Graph}.
\include examples-run.qdocinc
diff --git a/examples/datavisualization/qmlmultigraph/CMakeLists.txt b/examples/datavisualization/qmlmultigraph/CMakeLists.txt
deleted file mode 100644
index d697e398..00000000
--- a/examples/datavisualization/qmlmultigraph/CMakeLists.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright (C) 2022 The Qt Company Ltd.
-# SPDX-License-Identifier: BSD-3-Clause
-
-cmake_minimum_required(VERSION 3.16)
-project(qmlmultigraph LANGUAGES CXX)
-
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
-
-if(NOT DEFINED INSTALL_EXAMPLESDIR)
- set(INSTALL_EXAMPLESDIR "examples")
-endif()
-
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}")
-
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS Gui)
-find_package(Qt6 COMPONENTS Qml)
-find_package(Qt6 COMPONENTS Quick)
-find_package(Qt6 COMPONENTS DataVisualization)
-
-qt_add_executable(qmlmultigraph
- main.cpp
-)
-set_target_properties(qmlmultigraph PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-target_link_libraries(qmlmultigraph PUBLIC
- Qt::Core
- Qt::Gui
- Qt::Qml
- Qt::Quick
- Qt::DataVisualization
-)
-
-qt6_add_qml_module(qmlmultigraph
- URI MultiGraph
- VERSION 1.0
- NO_RESOURCE_TARGET_PATH
- QML_FILES
- qml/qmlmultigraph/Data.qml
- qml/qmlmultigraph/main.qml
-)
-
-install(TARGETS qmlmultigraph
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
-)
diff --git a/examples/datavisualization/qmlmultigraph/doc/images/qmlmultigraph-example.png b/examples/datavisualization/qmlmultigraph/doc/images/qmlmultigraph-example.png
deleted file mode 100644
index 79073f5f..00000000
--- a/examples/datavisualization/qmlmultigraph/doc/images/qmlmultigraph-example.png
+++ /dev/null
Binary files differ
diff --git a/examples/datavisualization/qmlmultigraph/doc/src/qmlmultigraph.qdoc b/examples/datavisualization/qmlmultigraph/doc/src/qmlmultigraph.qdoc
deleted file mode 100644
index 4cdcadff..00000000
--- a/examples/datavisualization/qmlmultigraph/doc/src/qmlmultigraph.qdoc
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
-
-/*!
- \example qmlmultigraph
- \title Qt Quick 2 Multiple Graphs Example
- \ingroup qtdatavisualization_examples
- \brief Showing multiple graphs simultaneously in a QML application.
-
- The Qt Quick 2 multiple graphs example demonstrates using multiple graphs in single window.
-
- \image qmlmultigraph-example.png
-
- The interesting thing about this example is demonstrating that multiple graphs can be used
- simultaneously, so most functionality is not explained in detail.
- For more detailed QML example documentation, see \l{Qt Quick 2 Scatter Example}.
-
- \include examples-run.qdocinc
-
- \section1 Multiple Graphs
-
- Using multiple graphs in a single application doesn't require anything special, simply define
- and position the graphs as normal. In this example the graphs are shown in a 2 x 2 grid with
- \c{GridLayout}:
-
- \snippet qmlmultigraph/qml/qmlmultigraph/main.qml 0
-
- Each graph has a parent \c Rectangle item to provide it with a border.
-
- Note that one of the grid cells is used for buttons in an another \c{GridLayout}.
-*/
diff --git a/examples/datavisualization/qmlmultigraph/main.cpp b/examples/datavisualization/qmlmultigraph/main.cpp
deleted file mode 100644
index 9693de32..00000000
--- a/examples/datavisualization/qmlmultigraph/main.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
-
-#include <QtGui/QGuiApplication>
-#include <QtCore/QDir>
-#include <QtQuick/QQuickView>
-#include <QtQml/QQmlEngine>
-
-int main(int argc, char *argv[])
-{
- qputenv("QSG_RHI_BACKEND", "opengl");
- QGuiApplication app(argc, argv);
-
- QQuickView viewer;
-
- // The following are needed to make examples run without having to install the module
- // in desktop environments.
-#ifdef Q_OS_WIN
- QString extraImportPath(QStringLiteral("%1/../../../../%2"));
-#else
- QString extraImportPath(QStringLiteral("%1/../../../%2"));
-#endif
- viewer.engine()->addImportPath(extraImportPath.arg(QGuiApplication::applicationDirPath(),
- QString::fromLatin1("qml")));
- QObject::connect(viewer.engine(), &QQmlEngine::quit, &viewer, &QWindow::close);
-
- viewer.setTitle(QStringLiteral("QML multigraph example"));
- viewer.setSource(QUrl("qrc:/qml/qmlmultigraph/main.qml"));
- viewer.setResizeMode(QQuickView::SizeRootObjectToView);
- viewer.show();
-
- return app.exec();
-}
diff --git a/examples/datavisualization/qmlmultigraph/qml/qmlmultigraph/Data.qml b/examples/datavisualization/qmlmultigraph/qml/qmlmultigraph/Data.qml
deleted file mode 100644
index 46ebef17..00000000
--- a/examples/datavisualization/qmlmultigraph/qml/qmlmultigraph/Data.qml
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
-
-import QtQuick
-
-Item {
- property alias sharedData: dataModel
-
- ListModel {
- id: dataModel
- ListElement{ row: "0"; col: "0"; longitude: "20.0"; latitude: "10.0"; pop_density: "4.75"; }
- ListElement{ row: "1"; col: "0"; longitude: "21.1"; latitude: "10.3"; pop_density: "3.00"; }
- ListElement{ row: "2"; col: "0"; longitude: "22.5"; latitude: "10.7"; pop_density: "1.24"; }
- ListElement{ row: "3"; col: "0"; longitude: "24.0"; latitude: "10.5"; pop_density: "2.53"; }
- ListElement{ row: "0"; col: "1"; longitude: "20.2"; latitude: "11.2"; pop_density: "3.55"; }
- ListElement{ row: "1"; col: "1"; longitude: "21.3"; latitude: "11.5"; pop_density: "3.03"; }
- ListElement{ row: "2"; col: "1"; longitude: "22.6"; latitude: "11.7"; pop_density: "3.46"; }
- ListElement{ row: "3"; col: "1"; longitude: "23.4"; latitude: "11.5"; pop_density: "4.12"; }
- ListElement{ row: "0"; col: "2"; longitude: "20.2"; latitude: "12.3"; pop_density: "3.37"; }
- ListElement{ row: "1"; col: "2"; longitude: "21.1"; latitude: "12.4"; pop_density: "2.98"; }
- ListElement{ row: "2"; col: "2"; longitude: "22.5"; latitude: "12.1"; pop_density: "3.33"; }
- ListElement{ row: "3"; col: "2"; longitude: "23.3"; latitude: "12.7"; pop_density: "3.23"; }
- ListElement{ row: "0"; col: "3"; longitude: "20.7"; latitude: "13.3"; pop_density: "5.34"; }
- ListElement{ row: "1"; col: "3"; longitude: "21.5"; latitude: "13.2"; pop_density: "4.54"; }
- ListElement{ row: "2"; col: "3"; longitude: "22.4"; latitude: "13.6"; pop_density: "4.65"; }
- ListElement{ row: "3"; col: "3"; longitude: "23.2"; latitude: "13.4"; pop_density: "6.67"; }
- ListElement{ row: "0"; col: "4"; longitude: "20.6"; latitude: "15.0"; pop_density: "6.01"; }
- ListElement{ row: "1"; col: "4"; longitude: "21.3"; latitude: "14.6"; pop_density: "5.83"; }
- ListElement{ row: "2"; col: "4"; longitude: "22.5"; latitude: "14.8"; pop_density: "7.32"; }
- ListElement{ row: "3"; col: "4"; longitude: "23.7"; latitude: "14.3"; pop_density: "6.90"; }
- }
-}
-
diff --git a/examples/datavisualization/qmlmultigraph/qml/qmlmultigraph/main.qml b/examples/datavisualization/qmlmultigraph/qml/qmlmultigraph/main.qml
deleted file mode 100644
index 2a8a03ec..00000000
--- a/examples/datavisualization/qmlmultigraph/qml/qmlmultigraph/main.qml
+++ /dev/null
@@ -1,200 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
-
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Controls
-import QtDataVisualization
-
-Item {
- id: mainView
- width: 800
- height: 600
-
- property bool portraitMode: width < height
-
- Data {
- id: data
- }
-
- //! [0]
- GridLayout {
- id: gridLayout
- columns: 2
- Layout.fillHeight: true
- Layout.fillWidth: true
- anchors.top: mainView.top
- anchors.bottom: mainView.bottom
- anchors.left: mainView.left
- anchors.right: mainView.right
-
- Rectangle {
- Layout.fillHeight: true
- Layout.fillWidth: true
- border.color: surfaceGraph.theme.gridLineColor
- border.width: 2
- color: "#00000000"
-
- Surface3D {
- id: surfaceGraph
- anchors.fill: parent
- anchors.margins: parent.border.width
- theme: Theme3D {
- type: Theme3D.ThemePrimaryColors
- font.pointSize: 60
- }
- scene.activeCamera.cameraPreset: Camera3D.CameraPresetIsometricLeftHigh
-
- Surface3DSeries {
- itemLabelFormat: "Pop density at (@xLabel N, @zLabel E): @yLabel"
- ItemModelSurfaceDataProxy {
- itemModel: data.sharedData
- // The surface data points are not neatly lined up in rows and columns,
- // so we define explicit row and column roles.
- rowRole: "row"
- columnRole: "col"
- xPosRole: "latitude"
- zPosRole: "longitude"
- yPosRole: "pop_density"
- }
- }
- }
- }
-
- // We'll use one grid cell for buttons
- Rectangle {
- Layout.fillHeight: true
- Layout.fillWidth: true
-
- GridLayout {
- anchors.right: parent.right
- anchors.left: parent.left
- anchors.top: parent.top
- anchors.bottom: parent.bottom
- columns: 2
-
- Button {
- Layout.minimumWidth: parent.width / 2
- Layout.fillHeight: true
- Layout.fillWidth: true
- text: mainView.portraitMode ? "Clear\nSelections" : "Clear Selections"
- onClicked: mainView.clearSelections() // call a helper function to keep button itself simpler
- }
-
- Button {
- Layout.minimumWidth: parent.width / 2
- Layout.fillHeight: true
- Layout.fillWidth: true
- text: "Quit"
- onClicked: Qt.quit();
- }
-
- Button {
- Layout.fillHeight: true
- Layout.fillWidth: true
- text: mainView.portraitMode ? "Reset\nCameras" : "Reset Cameras"
- onClicked: mainView.resetCameras() // call a helper function to keep button itself simpler
- }
-
- Button {
- Layout.fillHeight: true
- Layout.fillWidth: true
- text: mainView.portraitMode ? "Toggle\nMesh\nStyles" : "Toggle Mesh Styles"
- onClicked: mainView.toggleMeshStyle() // call a helper function to keep button itself simpler
- }
- }
- }
-
- Rectangle {
- Layout.fillHeight: true
- Layout.fillWidth: true
- border.color: scatterGraph.theme.gridLineColor
- border.width: 2
- color: "#00000000"
-
- Scatter3D {
- id: scatterGraph
- anchors.fill: parent
- anchors.margins: parent.border.width
- theme: Theme3D {
- type: Theme3D.ThemeDigia
- font.pointSize: 60
- }
- scene.activeCamera.cameraPreset: Camera3D.CameraPresetIsometricLeftHigh
-
- Scatter3DSeries {
- itemLabelFormat: "Pop density at (@xLabel N, @zLabel E): @yLabel"
- ItemModelScatterDataProxy {
- itemModel: data.sharedData
- // Mapping model roles to scatter series item coordinates.
- xPosRole: "latitude"
- zPosRole: "longitude"
- yPosRole: "pop_density"
- }
- }
- }
- }
-
- Rectangle {
- Layout.fillHeight: true
- Layout.fillWidth: true
- border.color: barGraph.theme.gridLineColor
- border.width: 2
- color: "#00000000"
-
- Bars3D {
- id: barGraph
- anchors.fill: parent
- anchors.margins: parent.border.width
- theme: Theme3D {
- type: Theme3D.ThemeQt
- font.pointSize: 60
- }
- selectionMode: AbstractGraph3D.SelectionItemAndRow | AbstractGraph3D.SelectionSlice
- scene.activeCamera.cameraPreset: Camera3D.CameraPresetIsometricLeftHigh
-
- Bar3DSeries {
- itemLabelFormat: "@seriesName: @valueLabel"
- name: "Population density"
-
- ItemModelBarDataProxy {
- itemModel: data.sharedData
- // Mapping model roles to bar series rows, columns, and values.
- rowRole: "row"
- columnRole: "col"
- valueRole: "pop_density"
- }
- }
- }
- }
- }
- //! [0]
-
- function clearSelections() {
- barGraph.clearSelection()
- scatterGraph.clearSelection()
- surfaceGraph.clearSelection()
- }
-
- function resetCameras() {
- surfaceGraph.scene.activeCamera.cameraPreset = Camera3D.CameraPresetIsometricLeftHigh
- scatterGraph.scene.activeCamera.cameraPreset = Camera3D.CameraPresetIsometricLeftHigh
- barGraph.scene.activeCamera.cameraPreset = Camera3D.CameraPresetIsometricLeftHigh
- surfaceGraph.scene.activeCamera.zoomLevel = 100.0
- scatterGraph.scene.activeCamera.zoomLevel = 100.0
- barGraph.scene.activeCamera.zoomLevel = 100.0
- }
-
- function toggleMeshStyle() {
- if (barGraph.seriesList[0].meshSmooth === true) {
- barGraph.seriesList[0].meshSmooth = false
- if (surfaceGraph.seriesList[0].flatShadingSupported)
- surfaceGraph.seriesList[0].flatShadingEnabled = true
- scatterGraph.seriesList[0].meshSmooth = false
- } else {
- barGraph.seriesList[0].meshSmooth = true
- surfaceGraph.seriesList[0].flatShadingEnabled = false
- scatterGraph.seriesList[0].meshSmooth = true
- }
- }
-}
diff --git a/examples/datavisualization/qmlmultigraph/qmlmultigraph.pro b/examples/datavisualization/qmlmultigraph/qmlmultigraph.pro
deleted file mode 100644
index 8cc4c60c..00000000
--- a/examples/datavisualization/qmlmultigraph/qmlmultigraph.pro
+++ /dev/null
@@ -1,12 +0,0 @@
-!include( ../examples.pri ) {
- error( "Couldn't find the examples.pri file!" )
-}
-
-# The .cpp file which was generated for your project. Feel free to hack it.
-SOURCES += main.cpp
-
-RESOURCES += qmlmultigraph.qrc
-
-OTHER_FILES += doc/src/* \
- doc/images/* \
- qml/qmlmultigraph/*
diff --git a/examples/datavisualization/qmlmultigraph/qmlmultigraph.qrc b/examples/datavisualization/qmlmultigraph/qmlmultigraph.qrc
deleted file mode 100644
index a1ac4cc0..00000000
--- a/examples/datavisualization/qmlmultigraph/qmlmultigraph.qrc
+++ /dev/null
@@ -1,6 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>qml/qmlmultigraph/Data.qml</file>
- <file>qml/qmlmultigraph/main.qml</file>
- </qresource>
-</RCC>
diff --git a/examples/datavisualization/qmlscatter/doc/src/qmlscatter.qdoc b/examples/datavisualization/qmlscatter/doc/src/qmlscatter.qdoc
index 18263edc..2055102e 100644
--- a/examples/datavisualization/qmlscatter/doc/src/qmlscatter.qdoc
+++ b/examples/datavisualization/qmlscatter/doc/src/qmlscatter.qdoc
@@ -3,16 +3,18 @@
/*!
\example qmlscatter
- \title Qt Quick 2 Scatter Example
- \ingroup qtdatavisualization_examples
+ \meta tags {DataVisualization, Scatter3D, Multiple Series}
+ \meta category {Graphics}
+ \title Simple Scatter Graph
+ \ingroup qtdatavisualization_qmlexamples
\brief Using Scatter3D in a QML application.
- The Qt Quick 2 scatter example shows how to make a simple scatter graph visualization using
- Scatter3D and Qt Quick 2.
+ The scatter graph example shows how to make a simple scatter graph visualization using
+ Scatter3D and QML.
For instructions about how to interact with the graph, see \l{Qt Data Visualization Interacting with Data}{this page}.
- For instructions how to create a new Qt Quick 2 application of your own, see Qt Creator help.
+ For instructions how to create a new Qt Quick application of your own, see Qt Creator help.
\image qmlscatter-example.png
diff --git a/examples/datavisualization/qmlspectrogram/doc/src/qmlspectrogram.qdoc b/examples/datavisualization/qmlspectrogram/doc/src/qmlspectrogram.qdoc
index 712db2a2..b56e784c 100644
--- a/examples/datavisualization/qmlspectrogram/doc/src/qmlspectrogram.qdoc
+++ b/examples/datavisualization/qmlspectrogram/doc/src/qmlspectrogram.qdoc
@@ -3,12 +3,14 @@
/*!
\example qmlspectrogram
- \title Qt Quick 2 Spectrogram Example
- \ingroup qtdatavisualization_examples
+ \meta tags {DataVisualization, Surface3D, Polar Graph, Surface Graph}
+ \meta category {Graphics}
+ \title Surface Spectrogram
+ \ingroup qtdatavisualization_qmlexamples
\brief Showing spectrogram graph in a QML application.
- The Qt Quick 2 Spectrogram example demonstrates how to show a polar and cartesian spectrograms
- and how to utilize orthographic projection to show them in 2D.
+ The Surface Spectrogram example demonstrates how to show a polar and cartesian
+ spectrograms and how to utilize orthographic projection to show them in 2D.
\image qmlspectrogram-example.png
@@ -19,7 +21,7 @@
The focus in this example is on showing how to display spectrograms, so the basic
functionality is not explained. For more detailed QML example documentation,
- see \l{Qt Quick 2 Scatter Example}.
+ see \l{Simple Scatter Graph}.
\include examples-run.qdocinc
diff --git a/examples/datavisualization/qmlspectrogram/qml/qmlspectrogram/main.qml b/examples/datavisualization/qmlspectrogram/qml/qmlspectrogram/main.qml
index 911159d8..cc0c3a83 100644
--- a/examples/datavisualization/qmlspectrogram/qml/qmlspectrogram/main.qml
+++ b/examples/datavisualization/qmlspectrogram/qml/qmlspectrogram/main.qml
@@ -8,7 +8,7 @@ import QtDataVisualization
Window {
id: mainview
- title: "Qt Quick 2 Spectrogram Example"
+ title: "Qt Quick 2 Surface Spectrogram"
visible: true
width: 1024
height: 768
diff --git a/examples/datavisualization/qmlsurface/doc/src/qmlsurface.qdoc b/examples/datavisualization/qmlsurface/doc/src/qmlsurface.qdoc
index 044f8ebb..1f338536 100644
--- a/examples/datavisualization/qmlsurface/doc/src/qmlsurface.qdoc
+++ b/examples/datavisualization/qmlsurface/doc/src/qmlsurface.qdoc
@@ -3,18 +3,20 @@
/*!
\example qmlsurface
- \title Qt Quick 2 Surface Example
- \ingroup qtdatavisualization_examples
+ \meta tags {DataVisualization, Surface3D, Height Map}
+ \meta category {Graphics}
+ \title Surface Graph from Height Data
+ \ingroup qtdatavisualization_qmlexamples
\brief Using Surface3D in a QML application.
- The Qt Quick 2 surface example shows how to make a simple 3D surface plot using Surface3D with
- Qt Quick 2.
+ The surface graph example shows how to make a simple 3D surface plot using Surface3D
+ with QML.
\image qmlsurface-example.png
The focus in this example is on generating a surface graph from height data, so in this section
we skip explaining the application creation. For more detailed QML example documentation,
- see \l{Qt Quick 2 Scatter Example}.
+ see \l{Simple Scatter Graph}.
\include examples-run.qdocinc
diff --git a/examples/datavisualization/qmlsurfacelayers/CMakeLists.txt b/examples/datavisualization/qmlsurfacelayers/CMakeLists.txt
deleted file mode 100644
index d31c1cbf..00000000
--- a/examples/datavisualization/qmlsurfacelayers/CMakeLists.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright (C) 2022 The Qt Company Ltd.
-# SPDX-License-Identifier: BSD-3-Clause
-
-cmake_minimum_required(VERSION 3.16)
-project(qmlsurfacelayers LANGUAGES CXX)
-
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
-
-if(NOT DEFINED INSTALL_EXAMPLESDIR)
- set(INSTALL_EXAMPLESDIR "examples")
-endif()
-
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}")
-
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS Gui)
-find_package(Qt6 COMPONENTS Qml)
-find_package(Qt6 COMPONENTS Quick)
-find_package(Qt6 COMPONENTS DataVisualization)
-
-qt_add_executable(qmlsurfacelayers
- main.cpp
-)
-set_target_properties(qmlsurfacelayers PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-target_link_libraries(qmlsurfacelayers PUBLIC
- Qt::Core
- Qt::Gui
- Qt::Qml
- Qt::Quick
- Qt::DataVisualization
-)
-
-qt6_add_qml_module(qmlsurfacelayers
- URI SurfaceLayers
- VERSION 1.0
- NO_RESOURCE_TARGET_PATH
- QML_FILES
- qml/qmlsurfacelayers/main.qml
- RESOURCES
- layer_1.png
- layer_2.png
- layer_3.png
-)
-
-install(TARGETS qmlsurfacelayers
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
-)
diff --git a/examples/datavisualization/qmlsurfacelayers/doc/images/qmlsurfacelayers-example.png b/examples/datavisualization/qmlsurfacelayers/doc/images/qmlsurfacelayers-example.png
deleted file mode 100644
index c5a48fcb..00000000
--- a/examples/datavisualization/qmlsurfacelayers/doc/images/qmlsurfacelayers-example.png
+++ /dev/null
Binary files differ
diff --git a/examples/datavisualization/qmlsurfacelayers/doc/src/qmlsurfacelayers.qdoc b/examples/datavisualization/qmlsurfacelayers/doc/src/qmlsurfacelayers.qdoc
deleted file mode 100644
index a70d36e1..00000000
--- a/examples/datavisualization/qmlsurfacelayers/doc/src/qmlsurfacelayers.qdoc
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
-
-/*!
- \example qmlsurfacelayers
- \title Qt Quick 2 Surface Multiseries Example
- \ingroup qtdatavisualization_examples
- \brief Using multiple series with Surface3D in a QML application.
-
- The Qt Quick 2 surface example shows how to make a 3D surface plot displaying 3 layers using
- Surface3D with Qt Quick 2.
-
- \image qmlsurfacelayers-example.png
-
- The focus in this example is on generating a multiseries surface plot from 3 different height
- map images, so in this section we skip explaining the application creation. For a more detailed
- QML example documentation, see \l{Qt Quick 2 Scatter Example}.
-
- \include examples-run.qdocinc
-
- \section1 Adding Data to the Graph
-
- This example shows how to add several surface series to one graph using using
- HeightMapSurfaceDataProxies and how to control their visibilities individually.
-
- Let's start by creating a specific gradient for each layer:
-
- \snippet qmlsurfacelayers/qml/qmlsurfacelayers/main.qml 0
-
- Then we'll create the series themselves. It happens simply by adding 3 separate Surface3DSeries
- to the Surface3D graph as children:
-
- \dots 0
- \snippet qmlsurfacelayers/qml/qmlsurfacelayers/main.qml 1
- \dots 0
-
- You'll notice we added the created gradients to the \c baseGradient properties of the series.
- We could have added them to the \c baseGradients property of the Theme3D in Surface3D instead,
- but doing it this way ensures each gradient is applied to a correct series:
-
- \snippet qmlsurfacelayers/qml/qmlsurfacelayers/main.qml 2
- \dots
-
- \section1 Controlling the Graph
-
- Let's add some checkboxes to control the visibility of layers:
-
- \snippet qmlsurfacelayers/qml/qmlsurfacelayers/main.qml 3
-
- We don't need to do anything on the \c onCheckedChanged as we bound the \c checked state to
- the \c visible property of the series directly:
-
- \dots 0
- \snippet qmlsurfacelayers/qml/qmlsurfacelayers/main.qml 4
- \dots 0
-
- Let's add some more checkboxes to control how the layers are displayed, when visible:
-
- \snippet qmlsurfacelayers/qml/qmlsurfacelayers/main.qml 5
-
- In addition to these we have three buttons, one of which is of special interest to us. It is
- used to control whether we want to slice into only one layer, or all of them:
-
- \snippet qmlsurfacelayers/qml/qmlsurfacelayers/main.qml 6
-
- \section1 Example Contents
-*/
diff --git a/examples/datavisualization/qmlsurfacelayers/layer_1.png b/examples/datavisualization/qmlsurfacelayers/layer_1.png
deleted file mode 100644
index 9138c710..00000000
--- a/examples/datavisualization/qmlsurfacelayers/layer_1.png
+++ /dev/null
Binary files differ
diff --git a/examples/datavisualization/qmlsurfacelayers/layer_2.png b/examples/datavisualization/qmlsurfacelayers/layer_2.png
deleted file mode 100644
index 3af154e2..00000000
--- a/examples/datavisualization/qmlsurfacelayers/layer_2.png
+++ /dev/null
Binary files differ
diff --git a/examples/datavisualization/qmlsurfacelayers/layer_3.png b/examples/datavisualization/qmlsurfacelayers/layer_3.png
deleted file mode 100644
index 796df64d..00000000
--- a/examples/datavisualization/qmlsurfacelayers/layer_3.png
+++ /dev/null
Binary files differ
diff --git a/examples/datavisualization/qmlsurfacelayers/main.cpp b/examples/datavisualization/qmlsurfacelayers/main.cpp
deleted file mode 100644
index eec92367..00000000
--- a/examples/datavisualization/qmlsurfacelayers/main.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
-
-#include <QtDataVisualization/qutils.h>
-
-#include <QtGui/QGuiApplication>
-#include <QtCore/QDir>
-#include <QtQuick/QQuickView>
-#include <QtQml/QQmlEngine>
-
-int main(int argc, char *argv[])
-{
- qputenv("QSG_RHI_BACKEND", "opengl");
- QGuiApplication app(argc, argv);
-
- QQuickView viewer;
-
- // Enable antialiasing in direct rendering mode
- viewer.setFormat(qDefaultSurfaceFormat(true));
-
- // The following are needed to make examples run without having to install the module
- // in desktop environments.
-#ifdef Q_OS_WIN
- QString extraImportPath(QStringLiteral("%1/../../../../%2"));
-#else
- QString extraImportPath(QStringLiteral("%1/../../../%2"));
-#endif
- viewer.engine()->addImportPath(extraImportPath.arg(QGuiApplication::applicationDirPath(),
- QString::fromLatin1("qml")));
-
- viewer.setSource(QUrl("qrc:/qml/qmlsurfacelayers/main.qml"));
-
- viewer.setTitle(QStringLiteral("3-layered Terrain"));
- viewer.setResizeMode(QQuickView::SizeRootObjectToView);
- viewer.show();
-
- return app.exec();
-}
diff --git a/examples/datavisualization/qmlsurfacelayers/qml/qmlsurfacelayers/main.qml b/examples/datavisualization/qmlsurfacelayers/qml/qmlsurfacelayers/main.qml
deleted file mode 100644
index 774bd3f5..00000000
--- a/examples/datavisualization/qmlsurfacelayers/qml/qmlsurfacelayers/main.qml
+++ /dev/null
@@ -1,293 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
-
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Controls
-import QtDataVisualization
-
-Item {
- id: mainview
- width: 1280
- height: 720
-
- property real fontSize: 12
- property bool portraitMode: width < height
-
- Item {
- id: surfaceView
- width: mainview.width - settings.width
- height: mainview.height
- anchors.right: mainview.right
-
- //! [0]
- ColorGradient {
- id: layerOneGradient
- ColorGradientStop { position: 0.0; color: "black" }
- ColorGradientStop { position: 0.31; color: "tan" }
- ColorGradientStop { position: 0.32; color: "green" }
- ColorGradientStop { position: 0.40; color: "darkslategray" }
- ColorGradientStop { position: 1.0; color: "white" }
- }
-
- ColorGradient {
- id: layerTwoGradient
- ColorGradientStop { position: 0.315; color: "blue" }
- ColorGradientStop { position: 0.33; color: "white" }
- }
-
- ColorGradient {
- id: layerThreeGradient
- ColorGradientStop { position: 0.0; color: "red" }
- ColorGradientStop { position: 0.15; color: "black" }
- }
- //! [0]
-
- Surface3D {
- id: surfaceLayers
- width: surfaceView.width
- height: surfaceView.height
- theme: Theme3D {
- type: Theme3D.ThemeEbony
- font.pointSize: 35
- colorStyle: Theme3D.ColorStyleRangeGradient
- }
- shadowQuality: AbstractGraph3D.ShadowQualityNone
- selectionMode: AbstractGraph3D.SelectionRow | AbstractGraph3D.SelectionSlice
- scene.activeCamera.cameraPreset: Camera3D.CameraPresetIsometricLeft
- axisY.min: 20
- axisY.max: 200
- axisX.segmentCount: 5
- axisX.subSegmentCount: 2
- axisX.labelFormat: "%i"
- axisZ.segmentCount: 5
- axisZ.subSegmentCount: 2
- axisZ.labelFormat: "%i"
- axisY.segmentCount: 5
- axisY.subSegmentCount: 2
- axisY.labelFormat: "%i"
-
- //! [1]
- //! [2]
- Surface3DSeries {
- id: layerOneSeries
- baseGradient: layerOneGradient
- //! [2]
- HeightMapSurfaceDataProxy {
- heightMapFile: ":/layer_1.png"
- }
- flatShadingEnabled: false
- drawMode: Surface3DSeries.DrawSurface
- //! [4]
- visible: layerOneToggle.checked // bind to checkbox state
- //! [4]
- }
-
- Surface3DSeries {
- id: layerTwoSeries
- baseGradient: layerTwoGradient
- HeightMapSurfaceDataProxy {
- heightMapFile: ":/layer_2.png"
- }
- flatShadingEnabled: false
- drawMode: Surface3DSeries.DrawSurface
- visible: layerTwoToggle.checked // bind to checkbox state
- }
-
- Surface3DSeries {
- id: layerThreeSeries
- baseGradient: layerThreeGradient
- HeightMapSurfaceDataProxy {
- heightMapFile: ":/layer_3.png"
- }
- flatShadingEnabled: false
- drawMode: Surface3DSeries.DrawSurface
- visible: layerThreeToggle.checked // bind to checkbox state
- }
- //! [1]
- }
- }
-
- Flickable {
- id: settings
- width: buttonLayout.implicitWidth
- contentHeight: buttonLayout.implicitHeight
- height: mainview.height
-
- ColumnLayout {
- id: buttonLayout
- anchors.top: parent.top
- anchors.left: parent.left
- spacing: 0
-
- //! [3]
- GroupBox {
- Layout.fillWidth: true
- Column {
- spacing: 10
-
- Label {
- font.pointSize: mainview.fontSize
- font.bold: true
- text: mainview.portraitMode ? "Layer\nSelection" : "Layer Selection"
- }
-
- CheckBox {
- id: layerOneToggle
- checked: true
- text: mainview.portraitMode ? "Show\nGround\nLayer" : "Show Ground Layer"
- }
-
- CheckBox {
- id: layerTwoToggle
- checked: true
- text: mainview.portraitMode ? "Show\nSea\nLayer" : "Show Sea Layer"
- }
-
- CheckBox {
- id: layerThreeToggle
- checked: true
- text: mainview.portraitMode ? "Show\nTectonic\nLayer" : "Show Tectonic Layer"
- }
- }
- }
- //! [3]
-
- //! [5]
- GroupBox {
- Layout.fillWidth: true
- Column {
- spacing: 10
-
- Label {
- font.pointSize: mainview.fontSize
- font.bold: true
- text: mainview.portraitMode ? "Layer\nStyle" : "Layer Style"
- }
-
- CheckBox {
- id: layerOneGrid
- text: mainview.portraitMode ? "Show\nGround\nas Grid" : "Show Ground as Grid"
- onCheckedChanged: {
- if (checked)
- layerOneSeries.drawMode = Surface3DSeries.DrawWireframe;
- else
- layerOneSeries.drawMode = Surface3DSeries.DrawSurface;
- }
- }
-
- CheckBox {
- id: layerTwoGrid
- text: mainview.portraitMode ? "Show\nSea\nas Grid" : "Show Sea as Grid"
-
- onCheckedChanged: {
- if (checked)
- layerTwoSeries.drawMode = Surface3DSeries.DrawWireframe;
- else
- layerTwoSeries.drawMode = Surface3DSeries.DrawSurface;
- }
- }
-
- CheckBox {
- id: layerThreeGrid
- text: mainview.portraitMode ? "Show\nTectonic\nas Grid"
- : "Show Tectonic as Grid"
- onCheckedChanged: {
- if (checked)
- layerThreeSeries.drawMode = Surface3DSeries.DrawWireframe;
- else
- layerThreeSeries.drawMode = Surface3DSeries.DrawSurface;
- }
- }
- }
- }
- //! [5]
-
- //! [6]
- Button {
- id: sliceButton
- text: mainview.portraitMode ? "Slice\nAll\nLayers" : "Slice All Layers"
- Layout.fillWidth: true
- Layout.minimumHeight: 40
- onClicked: {
- if (surfaceLayers.selectionMode & AbstractGraph3D.SelectionMultiSeries) {
- surfaceLayers.selectionMode = AbstractGraph3D.SelectionRow
- | AbstractGraph3D.SelectionSlice
- text = mainview.portraitMode ? "Slice\nAll\nLayers" : "Slice All Layers";
- } else {
- surfaceLayers.selectionMode = AbstractGraph3D.SelectionRow
- | AbstractGraph3D.SelectionSlice
- | AbstractGraph3D.SelectionMultiSeries
- text = mainview.portraitMode ? "Slice\nOne\nLayer" : "Slice One Layer";
- }
- }
- }
- //! [6]
-
- Button {
- id: shadowButton
- Layout.fillWidth: true
- Layout.minimumHeight: 40
- text: surfaceLayers.shadowsSupported ? (mainview.portraitMode ? "Show\nShadows" : "Show Shadows")
- : (mainview.portraitMode ? "Shadows\nnot\nsupported" : "Shadows not supported")
- enabled: surfaceLayers.shadowsSupported
- onClicked: {
- if (surfaceLayers.shadowQuality === AbstractGraph3D.ShadowQualityNone) {
- surfaceLayers.shadowQuality = AbstractGraph3D.ShadowQualityLow;
- text = mainview.portraitMode ? "Hide\nShadows" : "Hide Shadows";
- } else {
- surfaceLayers.shadowQuality = AbstractGraph3D.ShadowQualityNone;
- text = mainview.portraitMode ? "Show\nShadows" : "Show Shadows";
- }
- }
- }
-
- Button {
- id: renderModeButton
- text: mainview.portraitMode ? "Switch\nRender\nMode" : "Switch Render Mode"
- Layout.fillWidth: true
- Layout.minimumHeight: 40
- onClicked: {
- var modeText = "Indirect, ";
- var aaText;
- if (surfaceLayers.renderingMode === AbstractGraph3D.RenderIndirect &&
- surfaceLayers.msaaSamples === 0) {
- surfaceLayers.renderingMode = AbstractGraph3D.RenderDirectToBackground;
- modeText = "BackGround, ";
- } else if (surfaceLayers.renderingMode === AbstractGraph3D.RenderIndirect &&
- surfaceLayers.msaaSamples === 4) {
- surfaceLayers.renderingMode = AbstractGraph3D.RenderIndirect;
- surfaceLayers.msaaSamples = 0;
- } else if (surfaceLayers.renderingMode === AbstractGraph3D.RenderIndirect &&
- surfaceLayers.msaaSamples === 8) {
- surfaceLayers.renderingMode = AbstractGraph3D.RenderIndirect;
- surfaceLayers.msaaSamples = 4;
- } else {
- surfaceLayers.renderingMode = AbstractGraph3D.RenderIndirect;
- surfaceLayers.msaaSamples = 8;
- }
-
- if (surfaceLayers.msaaSamples <= 0) {
- aaText = "No AA";
- } else {
- aaText = surfaceLayers.msaaSamples + "xMSAA";
- }
-
- renderLabel.text = modeText + aaText;
- }
- }
-
- TextField {
- id: renderLabel
- font.pointSize: mainview.fontSize
- Layout.fillWidth: true
- Layout.minimumHeight: 40
- color: "gray"
- enabled: false
- horizontalAlignment: TextInput.AlignHCenter
- wrapMode: TextField.WrapAtWordBoundaryOrAnywhere
- text: "Indirect, " + surfaceLayers.msaaSamples + "xMSAA"
- }
- }
- }
-}
diff --git a/examples/datavisualization/qmlsurfacelayers/qmlsurfacelayers.pro b/examples/datavisualization/qmlsurfacelayers/qmlsurfacelayers.pro
deleted file mode 100644
index 2bfa904d..00000000
--- a/examples/datavisualization/qmlsurfacelayers/qmlsurfacelayers.pro
+++ /dev/null
@@ -1,12 +0,0 @@
-!include( ../examples.pri ) {
- error( "Couldn't find the examples.pri file!" )
-}
-
-# The .cpp file which was generated for your project. Feel free to hack it.
-SOURCES += main.cpp
-
-RESOURCES += qmlsurfacelayers.qrc
-
-OTHER_FILES += doc/src/* \
- doc/images/* \
- qml/qmlsurfacelayers/*
diff --git a/examples/datavisualization/qmlsurfacelayers/qmlsurfacelayers.qrc b/examples/datavisualization/qmlsurfacelayers/qmlsurfacelayers.qrc
deleted file mode 100644
index 71c2ea33..00000000
--- a/examples/datavisualization/qmlsurfacelayers/qmlsurfacelayers.qrc
+++ /dev/null
@@ -1,10 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>qml/qmlsurfacelayers/main.qml</file>
- </qresource>
- <qresource prefix="/heightmaps">
- <file>layer_1.png</file>
- <file>layer_2.png</file>
- <file>layer_3.png</file>
- </qresource>
-</RCC>
diff --git a/examples/datavisualization/scatter/doc/src/scatter.qdoc b/examples/datavisualization/scatter/doc/src/scatter.qdoc
index 82d45df4..6322e9cb 100644
--- a/examples/datavisualization/scatter/doc/src/scatter.qdoc
+++ b/examples/datavisualization/scatter/doc/src/scatter.qdoc
@@ -3,11 +3,13 @@
/*!
\example scatter
- \title Scatter Example
+ \meta tags {DataVisualization, Q3DScatter}
+ \meta category {Graphics}
+ \title Scatter Graph
\ingroup qtdatavisualization_examples
\brief Using Q3DScatter in a widget application.
- The scatter example shows how to make a simple 3D scatter graph using Q3DScatter and
+ The scatter graph example shows how to make a simple 3D scatter graph using Q3DScatter and
combining the use of widgets for adjusting several adjustable qualities. The example shows
how to:
diff --git a/examples/datavisualization/surface/doc/src/surface.qdoc b/examples/datavisualization/surface/doc/src/surface.qdoc
index a0fd0f9e..7ee17fa1 100644
--- a/examples/datavisualization/surface/doc/src/surface.qdoc
+++ b/examples/datavisualization/surface/doc/src/surface.qdoc
@@ -3,7 +3,9 @@
/*!
\example surface
- \title Surface Example
+ \meta tags {DataVisualization, Q3DSurface}
+ \meta category {Graphics}
+ \title Surface Graph
\ingroup qtdatavisualization_examples
\brief Using Q3DSurface in a widget application.
diff --git a/examples/datavisualization/texturesurface/doc/src/texturesurface.qdoc b/examples/datavisualization/texturesurface/doc/src/texturesurface.qdoc
index 77f0044f..887d1b8f 100644
--- a/examples/datavisualization/texturesurface/doc/src/texturesurface.qdoc
+++ b/examples/datavisualization/texturesurface/doc/src/texturesurface.qdoc
@@ -3,13 +3,15 @@
/*!
\example texturesurface
- \title Textured Surface Example
+ \meta tags {DataVisualization, Q3DSurface, Textured Surface}
+ \meta category {Graphics}
+ \title Textured Surface Graph
\ingroup qtdatavisualization_examples
\brief Using texture with Q3DSurface.
\since QtDataVisualization 1.2
- The textured surface example shows how to add an image as a texture for a surface. The example
- shows also how to:
+ The textured surface graph example shows how to add an image as a texture for a surface. The
+ example shows also how to:
\list
\li Create a surface series from an image
@@ -54,7 +56,7 @@
\section1 Use Custom Input Handler to Enable Zooming and Panning
- For the panning the implementation is similar to the \l{Axis Range Dragging With Labels Example}.
+ For the panning the implementation is similar to the \l{Input Handling for Axes}.
The difference is that in this example we follow only dragging of X and Z axis and we don't
allow dragging the surface outside the graph. The control for this is very simple and done as
on the following example for the X axis.
diff --git a/examples/datavisualization/volumetric/doc/src/volumetric.qdoc b/examples/datavisualization/volumetric/doc/src/volumetric.qdoc
index ec45b631..ed177c87 100644
--- a/examples/datavisualization/volumetric/doc/src/volumetric.qdoc
+++ b/examples/datavisualization/volumetric/doc/src/volumetric.qdoc
@@ -3,7 +3,9 @@
/*!
\example volumetric
- \title Volumetric rendering Example
+ \meta tags {DataVisualization, QCustom3DVolume, Custom Item}
+ \meta category {Graphics}
+ \title Volumetric Rendering
\ingroup qtdatavisualization_examples
\brief Rendering volumetric objects.
\since QtDataVisualization 1.2
diff --git a/src/datavisualization/data/qitemmodelbardataproxy.cpp b/src/datavisualization/data/qitemmodelbardataproxy.cpp
index 64979781..74e23cc9 100644
--- a/src/datavisualization/data/qitemmodelbardataproxy.cpp
+++ b/src/datavisualization/data/qitemmodelbardataproxy.cpp
@@ -55,7 +55,7 @@ QT_BEGIN_NAMESPACE
* item models where doing search and replace is not necessary to get the desired values.
*
* For example about using the search patterns in conjunction with the roles, see
- * \l{Qt Quick 2 Bars Example}.
+ * \l{Simple Bar Graph} example.
*
* \sa {Qt Data Visualization Data Handling}
*/
diff --git a/src/datavisualization/data/qitemmodelscatterdataproxy.cpp b/src/datavisualization/data/qitemmodelscatterdataproxy.cpp
index 556cd06b..63392cc0 100644
--- a/src/datavisualization/data/qitemmodelscatterdataproxy.cpp
+++ b/src/datavisualization/data/qitemmodelscatterdataproxy.cpp
@@ -38,7 +38,7 @@ QT_BEGIN_NAMESPACE
* item models where doing search and replace is not necessary to get the desired values.
*
* For example about using the search patterns in conjunction with the roles, see
- * ItemModelBarDataProxy usage in \l{Qt Quick 2 Bars Example}.
+ * ItemModelBarDataProxy usage in \l{Simple Bar Graph} example.
*
* \sa {Qt Data Visualization Data Handling}
*/
diff --git a/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp b/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp
index ef648f4f..75fe3691 100644
--- a/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp
+++ b/src/datavisualization/data/qitemmodelsurfacedataproxy.cpp
@@ -61,7 +61,7 @@ QT_BEGIN_NAMESPACE
* item models where doing search and replace is not necessary to get the desired values.
*
* For example about using the search patterns in conjunction with the roles, see
- * ItemModelBarDataProxy usage in \l{Qt Quick 2 Bars Example}.
+ * ItemModelBarDataProxy usage in \l{Simple Bar Graph} example.
*
* \sa {Qt Data Visualization Data Handling}
*/
diff --git a/src/datavisualization/doc/src/qtdatavisualization-index.qdoc b/src/datavisualization/doc/src/qtdatavisualization-index.qdoc
index a81dbd16..5896b094 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-index.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-index.qdoc
@@ -14,7 +14,7 @@
customized by using themes or by adding custom items and labels.
Qt Data Visualization is built on Qt 6 and OpenGL to take advantage of
- hardware acceleration and Qt Quick 2.
+ hardware acceleration and Qt Quick.
\section1 Using the Module
diff --git a/src/datavisualization/doc/src/qtdatavisualization-overview.qdoc b/src/datavisualization/doc/src/qtdatavisualization-overview.qdoc
index ff08fb6b..3db3a8f7 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-overview.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-overview.qdoc
@@ -56,7 +56,7 @@
\image q3dbars-minimal.png
For more information, see \l{How to construct a minimal Q3DBars graph},
- \l {Bars Example}, and \l {Qt Quick 2 Bars Example}.
+ \l {Bar Graph}, and \l {Simple Bar Graph} examples.
\section2 3D Scatter Graphs
@@ -69,7 +69,7 @@
\image q3dscatter-minimal.png
For more information, see \l{How to construct a minimal Q3DScatter graph},
- \l{Scatter Example}, and \l{Qt Quick 2 Scatter Example}.
+ \l{Scatter Graph}, and \l{Simple Scatter Graph} examples.
\section2 3D Surface Graphs
@@ -82,8 +82,7 @@
\image q3dsurface-minimal.png
For more information, see \l{How to construct a minimal Q3DSurface graph},
- \l{Surface Example}, \l{Textured Surface Example}, \l{Qt Quick 2 Surface
- Example}, and \l{Qt Quick 2 Surface Multiseries Example}.
+ \l{Surface Graph}, \l{Textured Surface Graph}, and \l{Surface Graph from Height Data} examples.
\section1 Using OpenGL for Rendering Data
@@ -114,7 +113,7 @@
be partially transparent. Therefore, changing the rendering mode is a
question of performance versus quality.
- Qt Quick 2 uses a dedicated scenegraph for data rendering, and is therefore
+ Qt Quick uses a dedicated scenegraph for data rendering, and is therefore
the best choice for data visualization.
\section1 3D Axes
@@ -187,7 +186,7 @@
If a graph displays the data from several data series, some settings can be
specified separately for each series. For example, different gradients can
be specified for different layers of the graph to make it look more
- realistic. For an example, see \l{Qt Quick 2 Surface Multiseries Example}.
+ realistic. For an example, see \l{Custom Items in Graph}.
\section1 Customizing 3D Scenes
@@ -199,7 +198,7 @@
position follows the camera automatically.
The camera can be customized by specifying its preset position, rotation,
- and zoom level. For an example, see \l{Qt Quick 2 Scatter Example}.
+ and zoom level. For an example, see \l{Simple Scatter Graph}.
\section1 Customizing Items
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc
index 8abf4ed2..922a9c03 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-abstractdeclarative.qdoc
@@ -284,7 +284,7 @@
* \c selectedElementChanged signal is emitted.
*
* The signal can be used for example for implementing customized input
- * handling, as demonstrated by the \l {Qt Quick 2 Axis Dragging Example}.
+ * handling, as demonstrated by the \l {Axis Dragging} example.
*
* \sa selectedLabelIndex(), selectedAxis(), selectedCustomItemIndex(), selectedCustomItem(),
* Bars3D::selectedSeries, Scatter3D::selectedSeries, Scene3D::selectionQueryPosition,
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc
index f428524e..5116aa3a 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-bars3d.qdoc
@@ -9,7 +9,7 @@
* \ingroup datavisualization_qml
* \brief 3D bar graph.
*
- * This type enables developers to render bar graphs in 3D with Qt Quick 2.
+ * This type enables developers to render bar graphs in 3D with Qt Quick.
*
* You will need to import data visualization module to use this type:
*
@@ -19,7 +19,7 @@
*
* \snippet doc_src_qmldatavisualization.cpp 1
*
- * See \l{Qt Quick 2 Bars Example} for more thorough usage example.
+ * See \l{Simple Bar Graph} for more thorough usage example.
*
* \sa Bar3DSeries, ItemModelBarDataProxy, Scatter3D, Surface3D, {Qt Data Visualization C++ Classes}
*/
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc
index 5088e1ca..8e43ea79 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-scatter3d.qdoc
@@ -9,7 +9,7 @@
\ingroup datavisualization_qml
\brief 3D scatter graph.
- This type enables developers to render scatter graphs in 3D with Qt Quick 2.
+ This type enables developers to render scatter graphs in 3D with Qt Quick.
You will need to import data visualization module to use this type:
@@ -19,7 +19,7 @@
\snippet doc_src_qmldatavisualization.cpp 2
- See \l{Qt Quick 2 Scatter Example} for more thorough usage example.
+ See \l{Simple Scatter Graph} for more thorough usage example.
\sa Scatter3DSeries, ScatterDataProxy, Bars3D, Surface3D, {Qt Data Visualization C++ Classes}
*/
diff --git a/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc b/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc
index 682a4ccb..438d6163 100644
--- a/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization-qml-surface3d.qdoc
@@ -9,7 +9,7 @@
\ingroup datavisualization_qml
\brief Describes the usage of the 3D surface graph.
- This type enables developers to render surface plots in 3D with Qt Quick 2.
+ This type enables developers to render surface plots in 3D with Qt Quick.
You will need to import the data visualization module to use this type:
@@ -19,7 +19,7 @@
\snippet doc_src_qmldatavisualization.cpp 3
- See \l{Qt Quick 2 Surface Example} for more thorough usage example.
+ See \l{Surface Graph from Height Data} for more thorough usage example.
\sa Surface3DSeries, ItemModelSurfaceDataProxy, Bars3D, Scatter3D, {Qt Data Visualization C++ Classes}
*/
diff --git a/src/datavisualization/doc/src/qtdatavisualization.qdoc b/src/datavisualization/doc/src/qtdatavisualization.qdoc
index 7a4e6886..ea5b2047 100644
--- a/src/datavisualization/doc/src/qtdatavisualization.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization.qdoc
@@ -37,6 +37,8 @@
\section1 Examples
\annotatedlist qtdatavisualization_examples
+ The following examples show how to use Qt Quick to visualize data:
+ \annotatedlist qtdatavisualization_qmlexamples
*/
/*!
@@ -111,7 +113,7 @@
QHeightMapSurfaceDataProxy is a specialized proxy for generating a surface graph from a
heightmap image. See the QHeightMapSurfaceDataProxy documentation for more information.
- The \l{Custom Proxy Example}{Custom Proxy} example shows how a custom proxy can be created. It
+ The \l{Data from Custom Proxy}{Custom Proxy} example shows how a custom proxy can be created. It
defines a custom data set based on variant lists and an extension of the basic proxy to resolve
that data with an associated mapper.
@@ -161,9 +163,8 @@
the default touch controls, see QTouch3DInputHandler. The default handlers
must be disabled when using customized input handlers.
- The \l{Custom Input Example} illustrates how to use a custom input handler
- to select items upon mouseover instead of mouse click. The information
- below the mouse cursor is displayed as a popup.
+ The \l{Input Handling for Axes} illustrates how to use a custom input handler
+ to drag an axis label to move the visible part of the data.
In addition to perspective projection, orthographic projection can be used
to create 2D graphs by replacing the default input handler with one that
@@ -200,7 +201,7 @@
application main. It can be defined by adding \c {qputenv("QSG_RHI_BACKEND", "opengl");}
in the beginning of your main function.
\li Some platforms like Android and WinRT cannot handle multiple native windows properly,
- so only the Qt Quick 2 graphs are available in practice for those platforms.
+ so only the Qt Quick graphs are available in practice for those platforms.
\li Surfaces with non-straight rows and columns do not always render properly.
\li Q3DLight class (and Light3D QML item) are currently not usable for anything.
\li Changing most of Q3DScene properties affecting subviewports currently has no effect.
diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp
index 37fd4c6c..a5204b24 100644
--- a/src/datavisualization/engine/q3dbars.cpp
+++ b/src/datavisualization/engine/q3dbars.cpp
@@ -62,7 +62,7 @@ QT_BEGIN_NAMESPACE
*
* The scene can be rotated, zoomed into, and a bar can be selected to view its value,
* but no other interaction is included in this minimal code example. You can learn more by
- * familiarizing yourself with the examples provided, like the \l{Bars Example}.
+ * familiarizing yourself with the examples provided, like the \l{Bar Graph}.
*
* \sa Q3DScatter, Q3DSurface, {Qt Data Visualization C++ Classes}
*/
diff --git a/src/datavisualization/engine/q3dscatter.cpp b/src/datavisualization/engine/q3dscatter.cpp
index 47dbe1fb..4e5ac2d8 100644
--- a/src/datavisualization/engine/q3dscatter.cpp
+++ b/src/datavisualization/engine/q3dscatter.cpp
@@ -51,7 +51,7 @@ QT_BEGIN_NAMESPACE
* The scene can be rotated, zoomed into, and an item can be selected to view its position,
* but no other interaction is included in this minimal code example.
* You can learn more by familiarizing yourself with the examples provided, like
- * the \l{Scatter Example}.
+ * the \l{Scatter Graph}.
*
* \sa Q3DBars, Q3DSurface, {Qt Data Visualization C++ Classes}
*/
diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp
index 5d81ef3a..0c66c32f 100644
--- a/src/datavisualization/engine/q3dsurface.cpp
+++ b/src/datavisualization/engine/q3dsurface.cpp
@@ -65,7 +65,7 @@ QT_BEGIN_NAMESPACE
* The scene can be rotated, zoomed into, and a surface point can be selected to view its position,
* but no other interaction is included in this minimal code example.
* You can learn more by familiarizing yourself with the examples provided,
- * like the \l{Surface Example}.
+ * like the \l{Surface Graph}.
*
*
* \sa Q3DBars, Q3DScatter, {Qt Data Visualization C++ Classes}
diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp
index d726036e..8ef9ecf1 100644
--- a/src/datavisualization/engine/qabstract3dgraph.cpp
+++ b/src/datavisualization/engine/qabstract3dgraph.cpp
@@ -567,7 +567,7 @@ QCustom3DItem *QAbstract3DGraph::selectedCustomItem() const
* \c selectedElementChanged signal is emitted.
*
* The signal can be used for example for implementing custom input handlers, as
- * demonstrated by the \l {Axis Range Dragging With Labels Example}.
+ * demonstrated by the \l {Input Handling for Axes} example.
*
* \sa selectedLabelIndex(), selectedAxis(), selectedCustomItemIndex(), selectedCustomItem(),
* Q3DBars::selectedSeries(), Q3DScatter::selectedSeries(), Q3DSurface::selectedSeries(),