aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/TraceInputKey.qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/TraceInputKey.qml')
-rw-r--r--src/components/TraceInputKey.qml92
1 files changed, 92 insertions, 0 deletions
diff --git a/src/components/TraceInputKey.qml b/src/components/TraceInputKey.qml
new file mode 100644
index 00000000..dc1cb47c
--- /dev/null
+++ b/src/components/TraceInputKey.qml
@@ -0,0 +1,92 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+import QtQuick
+import QtQuick.Layouts
+
+/*!
+ \qmltype TraceInputKey
+ \inqmlmodule QtQuick.VirtualKeyboard.Components
+ \ingroup qmlclass
+ \ingroup qtvirtualkeyboard-components-qml
+ \ingroup qtvirtualkeyboard-key-types
+ \inherits Item
+ \since QtQuick.VirtualKeyboard 2.0
+
+ \brief A specialized key for collecting touch input data.
+
+ This type can be placed in the keyboard layout. It collects
+ and renders touch input data (trace) from the key area.
+*/
+
+Item {
+ id: traceInputKey
+
+ /*! Sets the key weight value which determines the relative size of the key.
+
+ Use this property to change the key size in the layout.
+
+ The default value is inherited from the parent element
+ of the key in the layout hierarchy.
+ */
+ property real weight: parent.keyWeight
+
+ /*! Pattern recognition mode of this input area.
+
+ The default value is \l {InputEngine::patternRecognitionModes} {InputEngine.PatternRecognitionMode.None}.
+ */
+ property alias patternRecognitionMode: traceInputArea.patternRecognitionMode
+
+ /*! List of horizontal rulers in the input area.
+
+ The rulers are defined as a number of pixels from the top edge of the bounding box.
+
+ Here is an example that demonstrates how to define rulers:
+
+ \code
+ horizontalRulers: [boundingBox.height / 3, boundingBox.height / 3 * 2]
+ verticalRulers: [boundingBox.width / 3, boundingBox.width / 3 * 2]
+ \endcode
+ */
+ property alias horizontalRulers: traceInputArea.horizontalRulers
+
+ /*! List of vertical rulers in the input area.
+
+ The rulers are defined as a number of pixels from the left edge of the bounding box.
+ */
+ property alias verticalRulers: traceInputArea.verticalRulers
+
+ /*! Bounding box for the trace input.
+
+ This property is readonly and is automatically updated based on the item size
+ and margins.
+ */
+ readonly property alias boundingBox: traceInputArea.boundingBox
+
+ /*! Canvas type of this trace input area.
+
+ This property can be used to distinguish between different types of canvases.
+ The default value is \c "keyboard".
+ */
+ property alias canvasType: traceInputArea.canvasType
+
+ Layout.minimumWidth: traceInputKeyPanel.implicitWidth
+ Layout.minimumHeight: traceInputKeyPanel.implicitHeight
+ Layout.preferredWidth: weight
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ canvasType: "keyboard"
+
+ Loader {
+ id: traceInputKeyPanel
+ sourceComponent: keyboard.style.traceInputKeyPanelDelegate
+ anchors.fill: parent
+ onLoaded: traceInputKeyPanel.item.control = traceInputKey
+ }
+
+ TraceInputArea {
+ id: traceInputArea
+ anchors.fill: traceInputKeyPanel
+ anchors.margins: traceInputKeyPanel.item ? traceInputKeyPanel.item.traceMargins : 0
+ }
+}