summaryrefslogtreecommitdiff
path: root/spinbox_darwin.go
diff options
context:
space:
mode:
Diffstat (limited to 'spinbox_darwin.go')
-rw-r--r--spinbox_darwin.go14
1 files changed, 13 insertions, 1 deletions
diff --git a/spinbox_darwin.go b/spinbox_darwin.go
index 0d0d858..65274bd 100644
--- a/spinbox_darwin.go
+++ b/spinbox_darwin.go
@@ -21,12 +21,14 @@ import "C"
// - proper spacing between edit and spinner: Interface Builder isn't clear; NSDatePicker doesn't spill the beans
type spinbox struct {
- id C.id
+ id C.id
+ changed *event
}
func newSpinbox(min int, max int) Spinbox {
s := new(spinbox)
s.id = C.newSpinbox(unsafe.Pointer(s), C.intmax_t(min), C.intmax_t(max))
+ s.changed = newEvent()
return s
}
@@ -38,6 +40,16 @@ func (s *spinbox) SetValue(value int) {
C.spinboxSetValue(s.id, C.intmax_t(value))
}
+func (s *spinbox) OnChanged(e func()) {
+ s.changed.set(e)
+}
+
+//export spinboxChanged
+func spinboxChanged(data unsafe.Pointer) {
+ s := (*spinbox)(data)
+ s.changed.fire()
+}
+
func (s *spinbox) textfield() C.id {
return C.spinboxTextField(s.id)
}