X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d9d19e7545591fad3ea005df1ff3a84c9f68d822..6bdd4f5d1e127efc2b6d9f8e0acfb8e3018692d5:/src/mac/carbon/app.cpp diff --git a/src/mac/carbon/app.cpp b/src/mac/carbon/app.cpp index f7e96bddfb..42e2c0aba8 100644 --- a/src/mac/carbon/app.cpp +++ b/src/mac/carbon/app.cpp @@ -37,6 +37,7 @@ #include "wx/textctrl.h" #include "wx/menu.h" #include "wx/docview.h" +#include "wx/filename.h" #include @@ -123,6 +124,7 @@ pascal OSErr AEHandleODoc( const AppleEvent *event , AppleEvent *reply , long re pascal OSErr AEHandleOApp( const AppleEvent *event , AppleEvent *reply , long refcon ) ; pascal OSErr AEHandlePDoc( const AppleEvent *event , AppleEvent *reply , long refcon ) ; pascal OSErr AEHandleQuit( const AppleEvent *event , AppleEvent *reply , long refcon ) ; +pascal OSErr AEHandleRApp( const AppleEvent *event , AppleEvent *reply , long refcon ) ; pascal OSErr AEHandleODoc( const AppleEvent *event , AppleEvent *reply , long WXUNUSED(refcon) ) { @@ -144,6 +146,11 @@ pascal OSErr AEHandleQuit( const AppleEvent *event , AppleEvent *reply , long WX return wxTheApp->MacHandleAEQuit( (AppleEvent*) event , reply) ; } +pascal OSErr AEHandleRApp( const AppleEvent *event , AppleEvent *reply , long WXUNUSED(refcon) ) +{ + return wxTheApp->MacHandleAERApp( (AppleEvent*) event , reply) ; +} + // AEODoc Calls MacOpenFile on each of the files passed short wxApp::MacHandleAEODoc(const WXEVENTREF event, WXEVENTREF WXUNUSED(reply)) @@ -236,6 +243,15 @@ short wxApp::MacHandleAEQuit(const WXEVENTREF WXUNUSED(event) , WXEVENTREF WXUNU return noErr ; } +// AEROApp calls MacReopenApp + +short wxApp::MacHandleAERApp(const WXEVENTREF WXUNUSED(event) , WXEVENTREF WXUNUSED(reply)) +{ + MacReopenApp() ; + return noErr ; +} + + //---------------------------------------------------------------------- // Support Routines linking the Mac...File Calls to the Document Manager //---------------------------------------------------------------------- @@ -279,6 +295,11 @@ void wxApp::MacNewFile() { } +void wxApp::MacReopenApp() +{ + // eventually check for open docs, if none, call MacNewFile +} + //---------------------------------------------------------------------- // Carbon Event Handler //---------------------------------------------------------------------- @@ -690,6 +711,9 @@ bool wxApp::OnInitGui() AEInstallEventHandler( kCoreEventClass , kAEPrintDocuments , NewAEEventHandlerUPP(AEHandlePDoc) , 0 , FALSE ) ; + AEInstallEventHandler( kCoreEventClass , kAEReopenApplication , + NewAEEventHandlerUPP(AEHandleRApp) , + 0 , FALSE ) ; AEInstallEventHandler( kCoreEventClass , kAEQuitApplication , NewAEEventHandlerUPP(AEHandleQuit) , 0 , FALSE ) ; @@ -703,6 +727,9 @@ bool wxApp::OnInitGui() AEInstallEventHandler( kCoreEventClass , kAEPrintDocuments , NewAEEventHandlerProc(AEHandlePDoc) , 0 , FALSE ) ; + AEInstallEventHandler( kCoreEventClass , kAEReopenApplication , + NewAEEventHandlerProc(AEHandleRApp) , + 0 , FALSE ) ; AEInstallEventHandler( kCoreEventClass , kAEQuitApplication , NewAEEventHandlerProc(AEHandleQuit) , 0 , FALSE ) ; @@ -1817,6 +1844,10 @@ int wxKeyCodeToMacModifier(wxKeyCode key) bool wxGetKeyState(wxKeyCode key) //virtual key code if < 10.2.x, else see below { +//#ifdef __DARWIN__ +// wxHIDKeyboard keyboard; +// return keyboard.IsActive(key); +//#else // TODO: Have it use HID Manager on OSX... //if OS X > 10.2 (i.e. 10.2.x) //a known apple bug prevents the system from determining led @@ -1826,6 +1857,7 @@ bool wxGetKeyState(wxKeyCode key) //virtual key code if < 10.2.x, else see below // KeyMapByteArray keymap; // GetKeys((BigEndianLong*)keymap); // return !!(BitTst(keymap, (sizeof(KeyMapByteArray)*8) - iKey)); +//#endif } #if !TARGET_CARBON