summaryrefslogtreecommitdiff
path: root/examples/sensors/sensorsshowcase/Proximity.qml
diff options
context:
space:
mode:
Diffstat (limited to 'examples/sensors/sensorsshowcase/Proximity.qml')
-rw-r--r--examples/sensors/sensorsshowcase/Proximity.qml84
1 files changed, 84 insertions, 0 deletions
diff --git a/examples/sensors/sensorsshowcase/Proximity.qml b/examples/sensors/sensorsshowcase/Proximity.qml
new file mode 100644
index 0000000..be1adfb
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/Proximity.qml
@@ -0,0 +1,84 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+pragma ComponentBehavior: Bound
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Layouts
+import QtSensors
+
+Item {
+ id: root
+
+ property alias headingFontSize: heading.font.pixelSize
+ required property StackView parentStack
+ required property int imageSize
+ required property int fontSize
+
+ property bool near: false
+
+ ProximitySensor {
+ id: proximity
+ onReadingChanged: root.near = (reading as ProximityReading).near
+ }
+
+ ColumnLayout {
+ id: layout
+
+ anchors.fill: parent
+ spacing: 10
+
+ Text {
+ id: heading
+ Layout.preferredWidth: parent.width
+ horizontalAlignment: Text.AlignHCenter
+ wrapMode: Text.Wrap
+ text: "Proximity"
+ }
+
+ Image {
+ id: image
+
+ Layout.alignment: Qt.AlignHCenter
+ Layout.preferredWidth: root.near ? root.imageSize : root.imageSize * 0.75
+ Layout.fillHeight: true
+
+ source: "images/qt_logo.png"
+ fillMode: Image.PreserveAspectFit
+ }
+
+ Rectangle {
+ id: separator
+ Layout.topMargin: 10
+ Layout.bottomMargin: 10
+ Layout.preferredWidth: parent.width * 0.75
+ Layout.preferredHeight: 1
+ Layout.alignment: Qt.AlignHCenter
+ color: "black"
+ }
+
+ Text {
+ id: error
+ visible: !proximity.active
+ Layout.preferredWidth: parent.width
+ horizontalAlignment: Text.AlignHCenter
+ text: "The proximity sensor is not available on this device!"
+ font.pixelSize: root.fontSize
+ font.bold: true
+ wrapMode: Text.Wrap
+ color: "red"
+ }
+
+ Text {
+ visible: proximity.active
+ Layout.fillHeight: true
+ font.pixelSize: root.fontSize
+ text: "Near: " + root.near
+ }
+
+ Button {
+ Layout.fillWidth: true
+ onClicked: root.parentStack.pop()
+ text: "Back"
+ }
+ }
+}