summaryrefslogtreecommitdiffstats
path: root/examples/datavisualization/qmlaxisformatter/doc/src/qmlaxisformatter.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'examples/datavisualization/qmlaxisformatter/doc/src/qmlaxisformatter.qdoc')
-rw-r--r--examples/datavisualization/qmlaxisformatter/doc/src/qmlaxisformatter.qdoc126
1 files changed, 0 insertions, 126 deletions
diff --git a/examples/datavisualization/qmlaxisformatter/doc/src/qmlaxisformatter.qdoc b/examples/datavisualization/qmlaxisformatter/doc/src/qmlaxisformatter.qdoc
deleted file mode 100644
index 3c9574d4..00000000
--- a/examples/datavisualization/qmlaxisformatter/doc/src/qmlaxisformatter.qdoc
+++ /dev/null
@@ -1,126 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example qmlaxisformatter
- \title Qt Quick 2 Axis Formatter Example
- \ingroup qtdatavisualization_examples
- \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
- 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}.
-
- \include examples-run.qdocinc
-
- \section1 Custom Axis Formatter
-
- Customizing axis formatters requires subclassing the QValue3DAxisFormatter, which cannot be
- done in QML code alone. In this example we want an axis that interprets the float values as
- a timestamp and shows the date in the axis labels. To achieve this, we introduce a new class
- called \c CustomFormatter, which subclasses the QValue3DAxisFormatter:
-
- \snippet qmlaxisformatter/customformatter.h 2
- \dots 0
-
- Since float values of a QScatter3DSeries cannot be directly cast into QDateTime values due to
- difference in data width, we need some sort of mapping between the two. We chose to do the
- mapping by specifying an origin date for the formatter and interpreting the float values
- from the QScatter3DSeries as date offsets to that origin value. The origin date is given as
- a property:
-
- \snippet qmlaxisformatter/customformatter.h 1
-
- The mapping from value to QDateTime is done using \c valueToDateTime() method:
-
- \snippet qmlaxisformatter/customformatter.cpp 0
-
- To function as an axis formatter, our \c CustomFormatter needs to reimplement some virtual
- methods:
-
- \snippet qmlaxisformatter/customformatter.h 0
-
- The first two are simple, we just create a new instance of \c CustomFormatter and copy the
- necessary data over to it. These two methods are used to create and update a cache of formatter for
- rendering purposes. It is important to remember to call the superclass implementation
- of \c populateCopy():
-
- \snippet qmlaxisformatter/customformatter.cpp 1
-
- Bulk of the work done by \c CustomFormatter is done in the \c recalculate() method, where
- our formatter calculates the grid, subgrid, and label positions, as well as formats the label
- strings.
- In our custom formatter we ignore the segment count of the axis and draw a grid line always at
- midnight. Subsegment count and label positioning is handled normally:
-
- \snippet qmlaxisformatter/customformatter.cpp 2
-
- The axis labels are formatted to show only the date, but for selection label we want little more
- resolution for the timestamp, so we specify another property for our custom formatter to allow
- user to customize it:
-
- \snippet qmlaxisformatter/customformatter.h 3
-
- This selection format property is used in the reimplemented \c stringToValue method, where we
- ignore the submitted format and substitute the custom selection format for it:
-
- \snippet qmlaxisformatter/customformatter.cpp 3
-
- To expose our new custom formatter to the QML, we must declare and register it:
-
- \snippet qmlaxisformatter/main.cpp 0
- \dots 0
- \snippet qmlaxisformatter/main.cpp 1
-
- \section1 QML
-
- In the QML codes, we define a different axis for each dimension:
-
- \snippet qmlaxisformatter/qml/qmlaxisformatter/main.qml 3
-
- Z-axis is just a regular ValueAxis3D:
-
- \snippet qmlaxisformatter/qml/qmlaxisformatter/main.qml 0
-
- For the Y-axis we define a logarithmic axis. ValueAxis3D can be made to show logarithmic scale
- by specifying LogValueAxis3DFormatter for \c formatter property of the axis:
-
- \snippet qmlaxisformatter/qml/qmlaxisformatter/main.qml 2
-
- And finally, for the X-axis we use our new \c CustomFormatter:
-
- \snippet qmlaxisformatter/qml/qmlaxisformatter/main.qml 1
-
- Rest of the application consists of fairly self-explanatory logic for modifying the axes and
- showing the graph.
-*/