From 88cd10aa7b3559b092cf5575b0a17d002dc100ae Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 13 Feb 2014 09:59:52 +0200 Subject: Fix examples installation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Had to add one folder to the examples structure so installation works correctly. Change-Id: Ic92dfe9997413a6243abcf5eeba12744ba9e938c Reviewed-by: Tomi Korpipää --- .../doc/images/qmlcustominput-example.png | Bin 0 -> 57821 bytes .../qmlcustominput/doc/src/qmlcustominput.qdoc | 79 +++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 examples/datavisualization/qmlcustominput/doc/images/qmlcustominput-example.png create mode 100644 examples/datavisualization/qmlcustominput/doc/src/qmlcustominput.qdoc (limited to 'examples/datavisualization/qmlcustominput/doc') diff --git a/examples/datavisualization/qmlcustominput/doc/images/qmlcustominput-example.png b/examples/datavisualization/qmlcustominput/doc/images/qmlcustominput-example.png new file mode 100644 index 00000000..1de740ea Binary files /dev/null and b/examples/datavisualization/qmlcustominput/doc/images/qmlcustominput-example.png differ diff --git a/examples/datavisualization/qmlcustominput/doc/src/qmlcustominput.qdoc b/examples/datavisualization/qmlcustominput/doc/src/qmlcustominput.qdoc new file mode 100644 index 00000000..7702dadf --- /dev/null +++ b/examples/datavisualization/qmlcustominput/doc/src/qmlcustominput.qdoc @@ -0,0 +1,79 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVisualization module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +/*! + \example qmlcustominput + \title Qt Quick Custom Input Example + \ingroup qtdatavisualization_examples + \brief Customizing input in a Qt Quick application. + + The Qt Quick Custom Input example shows how to customize the 3D graph controls from Qt Quick using the MouseArea to capture and process mouse events in Qt Quick. + Custom input handling code in this example shows how the camera is now controlled by using NumberAnimation to animate the camera and item selection + is done on mouseover rather than clicking any mouse buttons. Also the code shows how to implement similar zoom with mouse wheel functionality as the default + input handler implements. + + \image qmlcustominput-example.png + + \section1 Removing default input handling + + The default input handling mechanism is disabled by setting the inputHandler property to null. + + \snippet ../examples/qmlcustominput/qml/qmlcustominput/main.qml 0 + \dots 0 + \snippet ../examples/qmlcustominput/qml/qmlcustominput/main.qml 1 + \dots 0 + + \section1 Implementing custom selection handling + + The on mouseover selection handling is implemented using standard MouseArea to capture the mouse events. + The mouse area is configured to capture hover events and has two custom properties for \c mouseX and \c mouseY + to store the last known mouse coordinates. + + \snippet ../examples/qmlcustominput/qml/qmlcustominput/main.qml 2 + + Whenever a pointer movement related signal is received the code updates the \c mouseX and \c mouseY properties. + + \snippet ../examples/qmlcustominput/qml/qmlcustominput/main.qml 3 + + As the selection is one shot, and is cleared each time a 3D frame is rendered, a timer is setup to retrigger selection so that the selection moves to the item + currently under the mouse cursor as the camera animates around the graph even when the mouse cursor is not moving. + + \snippet ../examples/qmlcustominput/qml/qmlcustominput/main.qml 4 + + \section1 Implementing custom zoom handling + + The camera has a zoom factor that represents amount of zoom in percentages. In this example the zoom range is limited + between 10% and 500%. This range is then divided to four subranges where angleDelta is scaled to different amount of zoom change + based on the current subrange. + + \dots + \snippet ../examples/qmlcustominput/qml/qmlcustominput/main.qml 5 + \dots + + \section1 Implementing custom camera handling + + The camera is animated to constantly rotate around the graph with two animations. The rotation around the graph is done with + a simple NumberAnimation that just increments during 20 seconds from 0 degrees to 360 degrees and sets the \l Q3DCamera::xRotation property. + + \snippet ../examples/qmlcustominput/qml/qmlcustominput/main.qml 6 + + The camera movement up and down is implemented with a SequentialAnimation that varies the \l Q3DCamera::yRotation property of the camera + from 5 degrees to 45 degrees and back with in and out easing. + + \snippet ../examples/qmlcustominput/qml/qmlcustominput/main.qml 7 +*/ -- cgit v1.2.3