summaryrefslogtreecommitdiff
path: root/dialog_windows.go
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-08-30 23:02:02 -0400
committerPietro Gagliardi <[email protected]>2014-08-30 23:02:02 -0400
commit77bf566ebbcb62acd4d08d905d9542d6ff9b6b80 (patch)
treeeeb8e72bc3bf57f5be7f0c0af4319189ac6de838 /dialog_windows.go
parent155899c65ed32245e2ccad4197a10c77017d835b (diff)
...in with the new.
Diffstat (limited to 'dialog_windows.go')
-rw-r--r--dialog_windows.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/dialog_windows.go b/dialog_windows.go
new file mode 100644
index 0000000..80f7ac6
--- /dev/null
+++ b/dialog_windows.go
@@ -0,0 +1,25 @@
+// 18 august 2014
+
+package ui
+
+import (
+ "unsafe"
+)
+
+// #include "winapi_windows.h"
+import "C"
+
+func (w *window) openFile(f func(filename string)) {
+ C.openFile(w.hwnd, unsafe.Pointer(&f))
+}
+
+//export finishOpenFile
+func finishOpenFile(name *C.WCHAR, fp unsafe.Pointer) {
+ f := (*func(string))(fp)
+ if name == nil {
+ (*f)("")
+ return
+ }
+ defer C.free(unsafe.Pointer(name))
+ (*f)(wstrToString(name))
+}