diff options
Diffstat (limited to 'examples/datavisualization/qmlaxisdrag/doc/src/qmlaxisdrag.qdoc')
-rw-r--r-- | examples/datavisualization/qmlaxisdrag/doc/src/qmlaxisdrag.qdoc | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/examples/datavisualization/qmlaxisdrag/doc/src/qmlaxisdrag.qdoc b/examples/datavisualization/qmlaxisdrag/doc/src/qmlaxisdrag.qdoc deleted file mode 100644 index f0dea871..00000000 --- a/examples/datavisualization/qmlaxisdrag/doc/src/qmlaxisdrag.qdoc +++ /dev/null @@ -1,121 +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 qmlaxisdrag - \title Qt Quick 2 Axis Dragging Example - \ingroup qtdatavisualization_examples - \brief Implementing axis dragging in QML. - \since QtDataVisualization 1.1 - - The Qt Quick 2 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. - - \image qmlaxisdrag-example.png - - \include examples-run.qdocinc - - \section1 Overriding Default Input Handling - - First we deactivate the default input handling mechanism by setting the active input handler - of Scatter3D graph to \c{null}: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 0 - \dots - - Then we add a MouseArea and set it to fill the parent, which is the same \c Item our - \c scatterGraph is contained in. We also set it to accept only left mouse button presses, - as in this example we are not interested in other buttons: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 1 - \dots - - Then we need to listen to mouse presses, and when caught, send a selection query to the graph: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 2 - - Current mouse position, that will be needed for move distance calculation, is caught in - \c{onPositionChanged}: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 3 - \dots - - At the end of \c{onPositionChanged}, we'll save the previous mouse position for move distance - calculation that will be introduced later: - - \dots 0 - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 4 - - \section1 Translating Mouse Movement to Axis Range Change - - in \c scatterGraph we will need to listen to \c onSelectedElementChanged signal. The signal - is emitted after the selection query has been made in the \c{onPressed} of \c{inputArea}. We - set the element type into a property we defined (\c{property int selectedAxisLabel: -1}) in our - main component, since it is of a type we are interested in: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 5 - - Then, back in the \c onPositionChanged of \c{inputArea}, we check if a mouse button is pressed - and if we have a current axis label selection. If the conditions are met, we'll call the - function that does the conversion from mouse movement to axis range update: - - \dots 0 - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 6 - \dots 0 - - The conversion is easy in this case, as we have a fixed camera rotation. We can use some - precalculated values, calculate mouse move distance, and apply the values to the - selected axis range: - - \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}. - - \section1 Other Features - - The example also demonstrates how to use orthographic projection and how to update properties - of a custom item on the fly. - - Orthographic projection is very simple. You'll just need to change \c orthoProjection property - of \c{scatterGraph}. In this example we have a button for toggling it on and off: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 8 - - For custom items, first we'll add one in the \c customItemList of \c{scatterGraph}: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 9 - - We have implemented a timer to add, remove, and rotate all the items in the graph, - and we'll use the same timer for rotating the custom item: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 10 - \dots - - \section1 Example Contents -*/ |