diff options
Diffstat (limited to 'sysdata_darwin.go')
| -rw-r--r-- | sysdata_darwin.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sysdata_darwin.go b/sysdata_darwin.go index cfbd00e..12b6b12 100644 --- a/sysdata_darwin.go +++ b/sysdata_darwin.go @@ -34,6 +34,7 @@ type classData struct { delete func(id C.id, index int) len func(id C.id) int selectIndex func(id C.id, index int, alternate bool) + selectIndices func(id C.id, indices []int) } var ( @@ -304,6 +305,7 @@ var classTypes = [nctypes]*classData{ selTexts: selectedListboxTexts, delete: deleteListbox, len: listboxLen, + selectIndices: selectListboxIndices, }, c_progressbar: &classData{ make: func(parentWindow C.id, alternate bool) C.id { @@ -571,3 +573,13 @@ func (s *sysData) selectIndex(index int) { } <-ret } + +func (s *sysData) selectIndices(indices []int) { + ret := make(chan struct{}) + defer close(ret) + uitask <- func() { + classTypes[s.ctype].selectIndices(s.id, indices) + ret <- struct{}{} + } + <-ret +} |
