diff options
| author | Pietro Gagliardi <[email protected]> | 2014-08-13 14:02:10 -0400 |
|---|---|---|
| committer | Pietro Gagliardi <[email protected]> | 2014-08-13 14:02:10 -0400 |
| commit | 35228385c11ec939ebc29dbaa3d653bcad6cd3b4 (patch) | |
| tree | 64485c163dc85533acc7e180aebf833eb5c80b52 | |
| parent | b01c65394202a5377313afe08cd5fb56f0903831 (diff) | |
Kinda sorta maybe implemented AreaHandler.Defocus() on Mac OS X. Starting to think I should just not allow Areas to be focused out.
| -rw-r--r-- | redo/area_darwin.go | 6 | ||||
| -rw-r--r-- | redo/area_darwin.m | 6 | ||||
| -rw-r--r-- | redo/zz_test.go | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/redo/area_darwin.go b/redo/area_darwin.go index c4c3d26..ff277e8 100644 --- a/redo/area_darwin.go +++ b/redo/area_darwin.go @@ -189,6 +189,12 @@ func areaView_flagsChanged(self C.id, e C.id, data unsafe.Pointer) { sendKeyEvent(self, ke, data) } +//export areaView_defocuses +func areaView_defocuses(data unsafe.Pointer) C.BOOL { + a := (*area)(data) + return toBOOL(a.handler.Defocuses()) +} + func (a *area) id() C.id { return a._id } diff --git a/redo/area_darwin.m b/redo/area_darwin.m index f99737f..37bcac7 100644 --- a/redo/area_darwin.m +++ b/redo/area_darwin.m @@ -93,6 +93,12 @@ event(keyDown, areaView_keyDown) event(keyUp, areaView_keyUp) event(flagsChanged, areaView_flagsChanged) +- (BOOL)resignFirstResponder +{ + // TODO the custom NSApplication sendEvent: means this will never happen + return areaView_defocuses(self->goarea); +} + @end Class getAreaClass(void) diff --git a/redo/zz_test.go b/redo/zz_test.go index edc0e1e..3ca54e2 100644 --- a/redo/zz_test.go +++ b/redo/zz_test.go @@ -142,6 +142,7 @@ func (tw *testwin) make(done chan struct{}) { NewVerticalStack( NewButton("Small"), NewButton("Small"), + NewTextField(), NewArea(200, 200, &areaHandler{*defocuses}))) tw.wsmall.Show() } |
