summaryrefslogtreecommitdiff
path: root/redo/dialog_darwin.go
blob: f1882a855ad80855d86a53345cea66eba2ed9935 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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))
}