mirror of
https://codeberg.org/vyn/selenite.git
synced 2025-07-01 09:13:19 +00:00
34 lines
803 B
Text
34 lines
803 B
Text
import { VLabeledComponent } from "LabeledComponent.slint";
|
|
import { Palette } from "Palette.slint";
|
|
import { Slider } from "std-widgets.slint";
|
|
import { VText } from "Text.slint";
|
|
|
|
export component VSlider inherits VLabeledComponent {
|
|
in property <bool> show-value;
|
|
in-out property <float> value;
|
|
|
|
init => {
|
|
sliderComponent.value = root.value;
|
|
}
|
|
|
|
pure callback format-value(float) -> string;
|
|
format-value(value) => {
|
|
return "\{value}";
|
|
}
|
|
|
|
callback released <=> sliderComponent.released;
|
|
in property minimum <=> sliderComponent.minimum;
|
|
in property maximum <=> sliderComponent.maximum;
|
|
|
|
VerticalLayout {
|
|
spacing: 8px;
|
|
VText {
|
|
horizontal-alignment: center;
|
|
text: format-value(sliderComponent.value);
|
|
color: Palette.foreground-hint;
|
|
}
|
|
sliderComponent := Slider {
|
|
|
|
}
|
|
}
|
|
}
|