#include "wx/textctrl.h"
#include "wx/menu.h"
#include "wx/docview.h"
+#include "wx/filename.h"
#include <string.h>
extern wxList wxPendingDelete;
extern wxList *wxWinMacWindowList;
extern wxList *wxWinMacControlList;
+#if wxUSE_THREADS
extern size_t g_numberOfThreads;
+#endif // wxUSE_THREADS
// statics for implementation
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) )
{
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))
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
//----------------------------------------------------------------------
{
}
+void wxApp::MacReopenApp()
+{
+ // eventually check for open docs, if none, call MacNewFile
+}
+
//----------------------------------------------------------------------
// Carbon Event Handler
//----------------------------------------------------------------------
if ( !wxAppBase::Initialize(argc, argv) )
return false;
+#if wxUSE_INTL
+ wxFont::SetDefaultEncoding(wxLocale::GetSystemEncoding());
+#endif
+
+
wxWinMacWindowList = new wxList(wxKEY_INTEGER);
wxWinMacControlList = new wxList(wxKEY_INTEGER);
AEInstallEventHandler( kCoreEventClass , kAEPrintDocuments ,
NewAEEventHandlerUPP(AEHandlePDoc) ,
0 , FALSE ) ;
+ AEInstallEventHandler( kCoreEventClass , kAEReopenApplication ,
+ NewAEEventHandlerUPP(AEHandleRApp) ,
+ 0 , FALSE ) ;
AEInstallEventHandler( kCoreEventClass , kAEQuitApplication ,
NewAEEventHandlerUPP(AEHandleQuit) ,
0 , FALSE ) ;
AEInstallEventHandler( kCoreEventClass , kAEPrintDocuments ,
NewAEEventHandlerProc(AEHandlePDoc) ,
0 , FALSE ) ;
+ AEInstallEventHandler( kCoreEventClass , kAEReopenApplication ,
+ NewAEEventHandlerProc(AEHandleRApp) ,
+ 0 , FALSE ) ;
AEInstallEventHandler( kCoreEventClass , kAEQuitApplication ,
NewAEEventHandlerProc(AEHandleQuit) ,
0 , FALSE ) ;
sleepTime = kEventDurationNoWait ;
else
{
+#if wxUSE_THREADS
if (g_numberOfThreads)
{
sleepTime = kEventDurationNoWait;
}
else
+#endif // wxUSE_THREADS
{
sleepTime = kEventDurationSecond;
}
sleepTime = kEventDurationNoWait;
else
{
+#if wxUSE_THREADS
if (g_numberOfThreads)
{
sleepTime = kEventDurationNoWait;
}
else
+#endif // wxUSE_THREADS
{
sleepTime = kEventDurationSecond;
}
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
// KeyMapByteArray keymap;
// GetKeys((BigEndianLong*)keymap);
// return !!(BitTst(keymap, (sizeof(KeyMapByteArray)*8) - iKey));
+//#endif
}
#if !TARGET_CARBON