summaryrefslogtreecommitdiff
path: root/redo/window_darwin.go
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-07-16 13:25:09 -0400
committerPietro Gagliardi <[email protected]>2014-07-16 13:25:09 -0400
commit1953f2d748a097e7a0e6ecfd2a2db2acf5fbca10 (patch)
tree006a71c97602608a54b11baa14b5948e6ca8321d /redo/window_darwin.go
parentd154a2d74d01be34561b2959864ce9302043c27f (diff)
Added Button and control adding to the Mac OS X backend.
Diffstat (limited to 'redo/window_darwin.go')
-rw-r--r--redo/window_darwin.go13
1 files changed, 8 insertions, 5 deletions
diff --git a/redo/window_darwin.go b/redo/window_darwin.go
index be9ceec..d9a72a4 100644
--- a/redo/window_darwin.go
+++ b/redo/window_darwin.go
@@ -13,6 +13,8 @@ import "C"
type window struct {
id C.id
+ child Control
+
closing *event
}
@@ -39,8 +41,12 @@ func (w *window) SetControl(control Control) *Request {
c := make(chan interface{})
return &Request{
op: func() {
- // TODO unparent
- // TODO reparent
+ if w.child != nil { // unparent existing control
+ w.child.unparent()
+ }
+ control.unparent()
+ control.parent(w)
+ w.child = control
c <- struct{}{}
},
resp: c,
@@ -131,6 +137,3 @@ func windowResized(xw unsafe.Pointer, width C.uintptr_t, height C.uintptr_t) {
_=w//TODO
fmt.Printf("new size %d x %d\n", width, height)
}
-
-// TODO for testing
-func newButton(string) *Request { return nil }