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 show-value; in-out property 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 { } } }