X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/32e806fe7f0ca4ccee9924f4ded0a8be05de2b89..66c2bf7b1d9326fb650acfaae22ec50528cfbf7c:/include/wx/osx/app.h diff --git a/include/wx/osx/app.h b/include/wx/osx/app.h index 24b2504b18..b341817be2 100644 --- a/include/wx/osx/app.h +++ b/include/wx/osx/app.h @@ -1,10 +1,9 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: app.h +// Name: wx/osx/app.h // Purpose: wxApp class // Author: Stefan Csomor // Modified by: // Created: 1998-01-01 -// RCS-ID: $Id$ // Copyright: (c) Stefan Csomor // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -83,21 +82,27 @@ public: // TODO change semantics to be in line with cocoa (make autrelease NOT increase the count) void MacAddToAutorelease( void* cfrefobj ); void MacReleaseAutoreleasePool(); + public: static wxWindow* s_captureWindow ; static long s_lastModifiers ; int m_nCmdShow; -private: // mac specifics +protected: +#if wxOSX_USE_COCOA + // override for support of custom app controllers + virtual WX_NSObject OSXCreateAppController(); +#endif + +private: virtual bool DoInitGui(); virtual void DoCleanUp(); WXEVENTHANDLERREF m_macEventHandler ; WXEVENTHANDLERCALLREF m_macCurrentEventHandlerCallRef ; WXEVENTREF m_macCurrentEvent ; - CFRunLoopSourceRef m_macEventPosted ; public: static long s_macAboutMenuItemId ; @@ -110,10 +115,10 @@ public: // For embedded use. By default does nothing. virtual void MacHandleUnhandledEvent( WXEVENTREF ev ); - bool MacSendKeyDownEvent( wxWindow* focus , long keyval , long modifiers , long when , short wherex , short wherey , wxChar uniChar ) ; - bool MacSendKeyUpEvent( wxWindow* focus , long keyval , long modifiers , long when , short wherex , short wherey , wxChar uniChar ) ; - bool MacSendCharEvent( wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey , wxChar uniChar ) ; - void MacCreateKeyEvent( wxKeyEvent& event, wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey , wxChar uniChar ) ; + bool MacSendKeyDownEvent( wxWindow* focus , long keyval , long modifiers , long when , wxChar uniChar ) ; + bool MacSendKeyUpEvent( wxWindow* focus , long keyval , long modifiers , long when , wxChar uniChar ) ; + bool MacSendCharEvent( wxWindow* focus , long keymessage , long modifiers , long when , wxChar uniChar ) ; + void MacCreateKeyEvent( wxKeyEvent& event, wxWindow* focus , long keymessage , long modifiers , long when , wxChar uniChar ) ; #if wxOSX_USE_CARBON // we only have applescript on these virtual short MacHandleAEODoc(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; @@ -123,7 +128,10 @@ public: virtual short MacHandleAEQuit(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; virtual short MacHandleAERApp(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; #endif - // in response of an open-document apple event + // in response of an openFiles message with Cocoa and an + // open-document apple event with Carbon + virtual void MacOpenFiles(const wxArrayString &fileNames) ; + // called by MacOpenFiles for each file. virtual void MacOpenFile(const wxString &fileName) ; // in response of a get-url apple event virtual void MacOpenURL(const wxString &url) ; @@ -133,7 +141,24 @@ public: virtual void MacNewFile() ; // in response of a reopen-application apple event virtual void MacReopenApp() ; +#if wxOSX_USE_COCOA_OR_IPHONE + // immediately before the native event loop launches + 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(); +private: +#if wxOSX_USE_IPHONE + bool m_onInitResult; +#endif +public: + +#endif + // Hide the application windows the same as the system hide command would do it. void MacHideApp();