Kinda sorta maybe implemented AreaHandler.Defocus() on Mac OS X. Starting to think I should just not allow Areas to be focused out.

This commit is contained in:
Pietro Gagliardi 2014-08-13 14:02:10 -04:00
parent b01c653942
commit 35228385c1
3 changed files with 13 additions and 0 deletions

View File

@ -189,6 +189,12 @@ func areaView_flagsChanged(self C.id, e C.id, data unsafe.Pointer) {
sendKeyEvent(self, ke, data) 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 { func (a *area) id() C.id {
return a._id return a._id
} }

View File

@ -93,6 +93,12 @@ event(keyDown, areaView_keyDown)
event(keyUp, areaView_keyUp) event(keyUp, areaView_keyUp)
event(flagsChanged, areaView_flagsChanged) event(flagsChanged, areaView_flagsChanged)
- (BOOL)resignFirstResponder
{
// TODO the custom NSApplication sendEvent: means this will never happen
return areaView_defocuses(self->goarea);
}
@end @end
Class getAreaClass(void) Class getAreaClass(void)

View File

@ -142,6 +142,7 @@ func (tw *testwin) make(done chan struct{}) {
NewVerticalStack( NewVerticalStack(
NewButton("Small"), NewButton("Small"),
NewButton("Small"), NewButton("Small"),
NewTextField(),
NewArea(200, 200, &areaHandler{*defocuses}))) NewArea(200, 200, &areaHandler{*defocuses})))
tw.wsmall.Show() tw.wsmall.Show()
} }