Spinner
The Spinner
widget displays a small spinning animation, commonly used to indicate ongoing activity when the exact
progress is unknown—an alternative to ProgressBar
for indefinite loading states.
To control the animation, call:
Spinner.start
to begin spinningSpinner.stop
to halt the animation
Example
samples/gtk/widgets/src/nativeMain/kotlin/org/gtkkn/samples/gtk/widgets/Spinner.kt
fun spinner(): Widget {
val spinner = Spinner().apply {
setSizeRequest(100, 100)
}
val toggleButton = ToggleButton(label = "Start Spinning")
// bind the spinning property of the spinner to the active property of the toggleButton
toggleButton.bindProperty("active", spinner, "spinning", BindingFlags.DEFAULT)
// update the text when the button is spinning
toggleButton.connectClicked {
if (toggleButton.getActive()) {
toggleButton.setLabel("Stop Spinning")
} else {
toggleButton.setLabel("Start Spinning")
}
}
val box = Box(Orientation.VERTICAL, 20).apply {
setMargins(20)
append(spinner)
append(toggleButton)
}
return box
}