diff options
Diffstat (limited to 'src/components/TraceInputKey.qml')
-rw-r--r-- | src/components/TraceInputKey.qml | 92 |
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 + } +} |