Split pane with sliders for each light off into separate QML file

This commit is contained in:
Michael Ehrenreich
2023-02-15 23:33:22 +01:00
parent 0be230668d
commit 97e09d4ec9
3 changed files with 73 additions and 58 deletions

70
LightSliderPane.qml Normal file
View File

@@ -0,0 +1,70 @@
import QtQuick
import QtQuick.Controls.Material
import QtQuick.Layouts
import QtQuick.Window
import QtQuick.VirtualKeyboard
import com.büro 1.0
Pane {
property variant light
Material.elevation: 6
ColumnLayout {
anchors.fill: parent
Label {
Layout.fillWidth: true
text: light.name
horizontalAlignment: Text.AlignHCenter
}
RowLayout {
Layout.fillWidth: true
Layout.fillHeight: true
Repeater {
model: DeviceTypeRegistersModel {
controller: __controller
deviceTypeId: light.deviceTypeId
}
delegate: ColumnLayout {
property int registerAddress: light.address + index
Layout.fillHeight: true
Label {
Layout.fillWidth: true
text: model.registerTypeName
horizontalAlignment: Text.AlignHCenter
}
Slider {
id: slider
Layout.fillWidth: true
Layout.fillHeight: true
orientation: Qt.Vertical
from: 0
to: 255
snapMode: Slider.SnapAlways
stepSize: 1
onValueChanged: __controller.setChannel(registerAddress, value)
}
Label {
Layout.fillWidth: true
text: Math.round(slider.value)
horizontalAlignment: Text.AlignHCenter
}
}
}
}
}
}