Here is a complete listing of the example source file.
import QtQuick 2.11
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.1
ColumnLayout {
id: root
property AbstractDevice device
property Item configurationItem
RowLayout {
Label {
text: qsTr("Device state:")
}
Label {
text: {
switch (device.state) {
case AbstractDevice.OPENING:
return qsTr("Opening")
case AbstractDevice.OPENED:
return qsTr("Opened")
case AbstractDevice.CLOSING:
return qsTr("Closing")
case AbstractDevice.CLOSED:
return qsTr("Closed")
default:
return qsTr("Unrecognized state")
}
}
}
}
GroupBox {
contentItem: configurationItem
}
Row {
Layout.alignment:
Qt.AlignRight
spacing: 5
Button {
text: qsTr("Open")
onClicked: device.open()
}
Button {
text: qsTr("Close")
onClicked: device.close()
}
}
}