blob: da81055bcb2e1ab0e4680ff6153828dc4ace80ab (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
// Copyright (C) 2017 Erik Larsson.
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import QtQuick
import QtQuick.Window
import io.qt.examples.customextension
Window {
id: topLevelWindow
title: "QML Client"
visible: true
width: 800
height: 600
property real fontSize: height / 50
Column {
anchors.centerIn: parent
width: topLevelWindow.width / 4
height: 2 * (width + topLevelWindow.height / 12)
spacing: topLevelWindow.height / 12
Rectangle {
id: rect1
color: "#C0FFEE"
width: parent.width
height: width
clip: true
Text {
anchors.centerIn: parent
text: "Press here to send spin request."
font.pixelSize: fontSize
width: parent.width
height: parent.height
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
}
TapHandler {
onTapped: {
if (customExtension.active)
customExtension.sendSpin(topLevelWindow, 500)
}
}
}
Rectangle {
id: rect2
color: "#decaff"
width: parent.width
height: parent.height / 2
clip: true
Text {
anchors.centerIn: parent
text: "Press here to send bounce request."
font.pixelSize: fontSize
width: parent.width
height: parent.height
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
}
//! [sendBounce]
TapHandler {
onTapped: {
if (customExtension.active)
customExtension.sendBounce(topLevelWindow, 1000)
}
}
//! [sendBounce]
}
}
//! [CustomExtension]
CustomExtension {
id: customExtension
onActiveChanged: {
registerWindow(topLevelWindow)
}
onFontSize: (window, pixelSize) => {
topLevelWindow.fontSize = pixelSize
}
}
//! [CustomExtension]
}
|