137 lines
3.2 KiB
QML
137 lines
3.2 KiB
QML
import QtQuick 2.15
|
|
import QtQuick.Controls 2.15
|
|
import QtQuick.Layouts 1.15
|
|
|
|
import StatusQ.Components 0.1
|
|
import StatusQ.Core.Theme 0.1
|
|
|
|
import utils 1.0
|
|
|
|
|
|
SplitView {
|
|
orientation: Qt.Vertical
|
|
|
|
component LabeledSlider: Row {
|
|
property alias text: label.text
|
|
property alias value: slider.value
|
|
property alias from: slider.from
|
|
property alias to: slider.to
|
|
|
|
Label {
|
|
id: label
|
|
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
}
|
|
|
|
Slider {
|
|
id: slider
|
|
|
|
value: (from + to) / 2
|
|
from: 10
|
|
to: 500
|
|
}
|
|
}
|
|
|
|
Item {
|
|
SplitView.fillWidth: true
|
|
SplitView.fillHeight: true
|
|
clip: true
|
|
|
|
StatusGroupBox {
|
|
id: group
|
|
|
|
anchors.centerIn: parent
|
|
|
|
title: titleTextEdit.text
|
|
icon: Theme.png("tokens/SNT")
|
|
iconSize: iconSizeSlider.value
|
|
|
|
label.enabled: labelEnabledCheckBox.checked
|
|
|
|
width: undefinedSizeCheckBox.checked ? undefined
|
|
: widthSlider.value
|
|
height: undefinedSizeCheckBox.checked ? undefined
|
|
: heightSlider.value
|
|
|
|
Button {
|
|
width: group.availableWidth
|
|
height: group.availableHeight
|
|
|
|
text: "Content button with some text"
|
|
|
|
implicitWidth: contentImplicitWidthSlider.value
|
|
implicitHeight: contentImplicitHeightSlider.value
|
|
}
|
|
}
|
|
}
|
|
|
|
ScrollView {
|
|
clip: true
|
|
|
|
Pane {
|
|
SplitView.minimumHeight: 100
|
|
SplitView.preferredHeight: 200
|
|
|
|
ColumnLayout {
|
|
LabeledSlider {
|
|
id: widthSlider
|
|
|
|
enabled: !undefinedSizeCheckBox.checked
|
|
text: "width:"
|
|
}
|
|
|
|
LabeledSlider {
|
|
id: heightSlider
|
|
|
|
enabled: !undefinedSizeCheckBox.checked
|
|
text: "height:"
|
|
}
|
|
|
|
CheckBox {
|
|
id: undefinedSizeCheckBox
|
|
text: "Undefined size"
|
|
checked: true
|
|
}
|
|
|
|
LabeledSlider {
|
|
id: contentImplicitWidthSlider
|
|
|
|
text: "content implicit width:"
|
|
}
|
|
|
|
LabeledSlider {
|
|
id: contentImplicitHeightSlider
|
|
|
|
text: "content implicit height:"
|
|
}
|
|
|
|
LabeledSlider {
|
|
id: iconSizeSlider
|
|
|
|
from: 10
|
|
to: 40
|
|
value: 18
|
|
text: "iconSize:"
|
|
}
|
|
|
|
RowLayout {
|
|
TextField {
|
|
id: titleTextEdit
|
|
|
|
text: "Some title goes here"
|
|
}
|
|
|
|
CheckBox {
|
|
id: labelEnabledCheckBox
|
|
|
|
checked: true
|
|
text: "label enabled"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// category: Components
|