further routing into wxApp

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor 2013-07-22 18:33:01 +00:00
parent f9148f9841
commit 15160da216
3 changed files with 22 additions and 7 deletions

View File

@ -146,7 +146,11 @@ public:
virtual void OSXOnWillFinishLaunching();
// immediately when the native event loop starts, no events have been served yet
virtual void OSXOnDidFinishLaunching();
// OS asks to terminate app, return no to stay running
virtual bool OSXOnShouldTerminate();
// before application terminates
virtual void OSXOnWillTerminate();
// Hide the application windows the same as the system hide command would do it.
void MacHideApp();

View File

@ -407,6 +407,21 @@ void wxApp::OSXOnWillFinishLaunching()
void wxApp::OSXOnDidFinishLaunching()
{
}
void wxApp::OSXOnWillTerminate()
{
wxCloseEvent event;
event.SetCanVeto(false);
wxTheApp->OnEndSession(event);
}
bool wxApp::OSXOnShouldTerminate()
{
wxCloseEvent event;
wxTheApp->OnQueryEndSession(event);
return !event.GetVeto();
}
//----------------------------------------------------------------------

View File

@ -126,9 +126,7 @@ void wxBell()
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
{
wxUnusedVar(sender);
wxCloseEvent event;
wxTheApp->OnQueryEndSession(event);
if ( event.GetVeto() )
if ( !wxTheApp->OSXOnShouldTerminate() )
return NSTerminateCancel;
return NSTerminateNow;
@ -136,9 +134,7 @@ void wxBell()
- (void)applicationWillTerminate:(NSNotification *)application {
wxUnusedVar(application);
wxCloseEvent event;
event.SetCanVeto(false);
wxTheApp->OnEndSession(event);
wxTheApp->OSXOnWillTerminate();
}
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender