This repository has been archived by the owner on Mar 4, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 82
/
SampleView.qml
135 lines (111 loc) · 2.32 KB
/
SampleView.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.10
import QtQuick.Controls 2.3
import QtQuick.Layouts 1.3
import de.skycoder42.QtMvvm.Core 1.1
import de.skycoder42.QtMvvm.Quick 1.1
import de.skycoder42.QtMvvm.Sample 1.1
Page {
id: sampleView
property SampleViewModel viewModel: null
readonly property bool presentAsRoot: true
header: ContrastToolBar {
RowLayout {
anchors.fill: parent
spacing: 0
ActionButton {
text: "≣"
display: AbstractButton.TextOnly
onClicked: QuickPresenter.toggleDrawer()
}
ToolBarLabel {
text: qsTr("Sample")
Layout.fillWidth: true
}
MenuButton {
MenuItem {
text: qsTr("Another Input")
onTriggered: viewModel.getInput()
}
MenuItem {
text: qsTr("Add Files")
onTriggered: viewModel.getFiles()
}
MenuItem {
text: qsTr("Add Color")
onTriggered: viewModel.getColor()
}
MenuItem {
text: qsTr("Show Progress")
onTriggered: viewModel.showProgress()
}
MenuSeparator {}
MenuItem {
text: qsTr("About")
onTriggered: viewModel.about()
}
}
}
}
PresenterProgress {}
Pane {
anchors.fill: parent
GridLayout {
columns: 2
anchors.fill: parent
Label {
text: qsTr("Name:")
}
TextField {
id: nameEdit
Layout.fillWidth: true
selectByMouse: true
MvvmBinding {
viewModel: sampleView.viewModel
view: nameEdit
viewModelProperty: "name"
viewProperty: "text"
}
}
Label {
text: qsTr("Active:")
}
Switch {
id: activeSwitch
Layout.alignment: Qt.AlignLeft
MvvmBinding {
viewModel: sampleView.viewModel
view: activeSwitch
viewModelProperty: "active"
viewProperty: "checked"
}
}
Label {
text: qsTr("Events:")
}
RowLayout {
Layout.fillWidth: true
Button {
text: qsTr("&Clear")
onClicked: viewModel.clearEvents()
}
Button {
text: qsTr("Get &Result")
onClicked: viewModel.getResult()
}
}
ListView {
id: lView
Layout.columnSpan: 2
Layout.fillWidth: true
Layout.fillHeight: true
clip: true
ScrollBar.vertical: ScrollBar {}
model: viewModel.eventsModel
delegate: ItemDelegate {
width: parent.width
text: viewModel.eventsModel.data(viewModel.eventsModel.index(index, 0)) //because "display" is not accessible
}
}
}
}
}