blob: 8f69ae4bbb683afe03258c59396e646933b079b6 (
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
|
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import QtQuick
Item {
id: button
property string text: ""
property color buttonColor: "white"
property color textColor: "black"
property bool available: true
property alias fontPointSize: buttonText.font.pointSize
signal clicked()
state: "NORMAL"
Rectangle {
id: buttonRect
anchors.fill: parent
radius: 10
color: buttonColor
visible: button.available
Text {
id: buttonText
anchors.fill: parent
anchors.rightMargin: parent.width * 0.05
anchors.leftMargin: parent.width * 0.05
anchors.bottomMargin: parent.height * 0.20
anchors.topMargin: parent.height * 0.20
text: button.text
color: textColor
fontSizeMode: Text.Fit
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
minimumPointSize: 8
font.pointSize: 64
font.family: "Helvetica"
font.weight: Font.Light
}
}
MouseArea {
anchors.fill: parent
onClicked: {
button.clicked();
}
onPressed: {
button.state = "PRESSED";
}
onReleased: {
button.state = "NORMAL";
}
}
states: [
State {
name: "NORMAL"
PropertyChanges {
target: buttonRect
color: button.buttonColor
border.color: "transparent"
}
PropertyChanges {
target: buttonText
color: button.textColor
}
},
State {
name: "PRESSED"
PropertyChanges {
target: buttonRect
color: "transparent"
border.color: button.buttonColor
}
PropertyChanges {
target: buttonText
color: button.buttonColor
}
}
]
}
|