1
0
Fork 0

feat(ui): add ListBox.SetSelected()

this function will set the selected widget without triggering a onSelect event.
This commit is contained in:
Henrik Hautakoski 2025-10-28 09:47:19 +01:00
parent 46552f0ed2
commit f3d7995bc2

View file

@ -42,12 +42,19 @@ func (lb ListBox) Entries() []ui.InputWidget {
} }
func (lb *ListBox) Select(index int) { func (lb *ListBox) Select(index int) {
if lb.SetSelected(index) {
lb.onSelect()
}
}
func (lb *ListBox) SetSelected(index int) bool {
if index >= 0 && index < len(lb.entries) { if index >= 0 && index < len(lb.entries) {
lb.entries[lb.selected].SetFocus(false) lb.entries[lb.selected].SetFocus(false)
lb.selected = index lb.selected = index
lb.entries[lb.selected].SetFocus(true) lb.entries[lb.selected].SetFocus(true)
lb.onSelect() return true
} }
return false
} }
func (lb ListBox) Selected() ui.InputWidget { func (lb ListBox) Selected() ui.InputWidget {