diff options
Diffstat (limited to 'dialog_darwin.go')
| -rw-r--r-- | dialog_darwin.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/dialog_darwin.go b/dialog_darwin.go new file mode 100644 index 0000000..f1882a8 --- /dev/null +++ b/dialog_darwin.go @@ -0,0 +1,25 @@ +// 19 august 2014 + +package ui + +import ( + "unsafe" +) + +// #include "objc_darwin.h" +import "C" + +func (w *window) openFile(f func(filename string)) { + C.openFile(w.id, unsafe.Pointer(&f)) +} + +//export finishOpenFile +func finishOpenFile(fname *C.char, data unsafe.Pointer) { + f := (*func(string))(data) + if fname == nil { + (*f)("") + return + } + defer C.free(unsafe.Pointer(fname)) + (*f)(C.GoString(fname)) +} |
