summaryrefslogtreecommitdiff
path: root/sysdata_darwin.go
diff options
context:
space:
mode:
Diffstat (limited to 'sysdata_darwin.go')
-rw-r--r--sysdata_darwin.go12
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
+}