-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathNumBoxForm.ui.qml
135 lines (117 loc) · 3.19 KB
/
NumBoxForm.ui.qml
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Controls.Material 2.12
Control {
id: control
property alias inputText: inputText
property alias displayText: displayText
property alias placeholderText: placeholderText
property alias sufInfoInEdit: sufInfoInEdit
property alias displayTextMouseArea: displayTextMouseArea
property alias inputTextMouseArea: inputTextMouseArea
width: 180
height: 46
contentItem: Item {
id: controlContent
Label {
id: displayText
z: 3
clip: true
verticalAlignment: "AlignVCenter"
horizontalAlignment: "AlignHCenter"
visible: !inputText.activeFocus
text: ""
anchors.fill: parent
MouseArea {
id: displayTextMouseArea
anchors.fill: parent
}
}
TextField {
id: inputText
z: 2
visible: !displayText.visible
clip: true
verticalAlignment: "AlignVCenter"
horizontalAlignment: "AlignHCenter"
text: ""
anchors.fill: parent
MouseArea {
id: inputTextMouseArea
anchors.fill: parent
}
}
Label {
id: placeholderText
opacity: 0.4
visible: inputText.visible && inputText.text.length === 0
horizontalAlignment: Qt.AlignHCenter
verticalAlignment: Qt.AlignVCenter
}
Label {
id: sufInfoInEdit
visible: visibleSuffixInEdit ? inputText.visible : false
verticalAlignment: Qt.AlignVCenter
anchors {
right: parent.right
top: parent.top
}
}
}
states: [
State {
name: "view"
PropertyChanges {
target: displayText
visible: true
text: "0.00 USD"
}
PropertyChanges {
target: sufInfoInEdit
visible: false
text: ""
}
PropertyChanges {
target: inputText
visible: false
text: ""
}
},
State {
name: "edit"
PropertyChanges {
target: displayText
visible: false
text: ""
}
PropertyChanges {
target: inputText
visible: true
text: "0,00"
}
PropertyChanges {
target: sufInfoInEdit
visible: true
text: "USD"
}
},
State {
name: "editNull"
PropertyChanges {
target: displayText
visible: false
text: ""
}
PropertyChanges {
target: inputText
text: ""
visible: true
}
PropertyChanges {
target: sufInfoInEdit
visible: true
text: "USD"
}
}
]
}