// 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)) }