Add a Scrollbar widget to the UI toolkit. It would provide scroll buttons, a draggable bar, and bind to a floating point number indicating the scroll position.
It would be a generic widget that can serve as a number slider or be composed with bigger, more complex widgets to accommodate things like scrollable text boxes or scrollable menus and so on.
The Scrollbar widget would consist of:
- A Frame to contain all the child widgets and serve as the trough of the scrollbar.
- Two Buttons on either end (your “up/down” or “left/right” scroll buttons)
- A draggable Button to be the scroll bar itself, which can move between the two end Buttons and indicate the current scroll position.
Options for the widget would include:
- Orientation (vertical or horizontal)
- Ability to hide the up/down scroll buttons (e.g. to support use cases as a number slider widget instead of a scrollbar)
- Min and max ranges for the scrollbar’s value (float64 numbers)
- A callback function for “OnScroll” that would receive the current scroll value.