X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8fc821cccfe0bb436095500d6f8e942bddf4412d..8e54aaedb5329a49ffd9c5d50071f9c8cdd5c59e:/src/cocoa/NSWindow.mm?ds=sidebyside diff --git a/src/cocoa/NSWindow.mm b/src/cocoa/NSWindow.mm index e3c1446d78..ca5960caf0 100644 --- a/src/cocoa/NSWindow.mm +++ b/src/cocoa/NSWindow.mm @@ -26,7 +26,7 @@ #include "wx/cocoa/ObjcPose.h" #include "wx/cocoa/NSWindow.h" -#import +#import #import #import @@ -42,6 +42,7 @@ - (void)windowDidBecomeMain: (NSNotification *)notification; - (void)windowDidResignMain: (NSNotification *)notification; - (BOOL)windowShouldClose: (id)sender; +- (void)windowWillClose: (NSNotification *)notification; @end //interface wxNSWindowDelegate @implementation wxNSWindowDelegate : NSObject @@ -49,44 +50,51 @@ - (void)windowDidBecomeKey: (NSNotification *)notification { wxCocoaNSWindow *win = wxCocoaNSWindow::GetFromCocoa([notification object]); - wxCHECK_RET(win,"notificationDidBecomeKey received but no wxWindow exists"); + wxCHECK_RET(win,wxT("notificationDidBecomeKey received but no wxWindow exists")); win->CocoaDelegate_windowDidBecomeKey(); } - (void)windowDidResignKey: (NSNotification *)notification { wxCocoaNSWindow *win = wxCocoaNSWindow::GetFromCocoa([notification object]); - wxCHECK_RET(win,"notificationDidResignKey received but no wxWindow exists"); + wxCHECK_RET(win,wxT("notificationDidResignKey received but no wxWindow exists")); win->CocoaDelegate_windowDidResignKey(); } - (void)windowDidBecomeMain: (NSNotification *)notification { wxCocoaNSWindow *win = wxCocoaNSWindow::GetFromCocoa([notification object]); - wxCHECK_RET(win,"notificationDidBecomeMain received but no wxWindow exists"); + wxCHECK_RET(win,wxT("notificationDidBecomeMain received but no wxWindow exists")); win->CocoaDelegate_windowDidBecomeMain(); } - (void)windowDidResignMain: (NSNotification *)notification { wxCocoaNSWindow *win = wxCocoaNSWindow::GetFromCocoa([notification object]); - wxCHECK_RET(win,"notificationDidResignMain received but no wxWindow exists"); + wxCHECK_RET(win,wxT("notificationDidResignMain received but no wxWindow exists")); win->CocoaDelegate_windowDidResignMain(); } - (BOOL)windowShouldClose: (id)sender { - wxLogDebug("windowShouldClose"); + wxLogDebug(wxT("windowShouldClose")); wxCocoaNSWindow *tlw = wxCocoaNSWindow::GetFromCocoa(sender); if(tlw && !tlw->CocoaDelegate_windowShouldClose()) { - wxLogDebug("Window will not be closed"); + wxLogDebug(wxT("Window will not be closed")); return NO; } - wxLogDebug("Window will be closed"); + wxLogDebug(wxT("Window will be closed")); return YES; } +- (void)windowWillClose: (NSNotification *)notification +{ + wxCocoaNSWindow *win = wxCocoaNSWindow::GetFromCocoa([notification object]); + wxCHECK_RET(win,wxT("windowWillClose received but no wxWindow exists")); + win->CocoaDelegate_windowWillClose(); +} + @end //implementation wxNSWindowDelegate // ============================================================================ @@ -116,6 +124,11 @@ void wxCocoaNSWindow::DisassociateNSWindow(WX_NSWindow cocoaNSWindow) } } +wxMenuBar* wxCocoaNSWindow::GetAppMenuBar(wxCocoaNSWindow *win) +{ + return NULL; +} + // ============================================================================ // @class wxPoserNSWindow // ============================================================================ @@ -123,22 +136,12 @@ void wxCocoaNSWindow::DisassociateNSWindow(WX_NSWindow cocoaNSWindow) { } -- (void)close; - (BOOL)canBecomeMainWindow; @end // wxPoserNSwindow WX_IMPLEMENT_POSER(wxPoserNSWindow); @implementation wxPoserNSWindow : NSWindow -- (void)close -{ - wxLogDebug("close"); - wxCocoaNSWindow *tlw = wxCocoaNSWindow::GetFromCocoa(self); - if(tlw) - tlw->Cocoa_close(); - [super close]; -} - - (BOOL)canBecomeMainWindow { bool canBecome = false;