X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6258f9d978f9794820ad0a051994d8aad7c5c477..c576a25a1959041d9682f825bf9cdf0baf0d8d56:/src/mac/carbon/app.cpp diff --git a/src/mac/carbon/app.cpp b/src/mac/carbon/app.cpp index cbb3c6f22b..4a2bf61873 100644 --- a/src/mac/carbon/app.cpp +++ b/src/mac/carbon/app.cpp @@ -586,7 +586,7 @@ wxMacAppMenuEventHandler( EventHandlerCallRef WXUNUSED(handler), { wxWindow *win = menu->GetInvokingWindow(); if (win) - win->GetEventHandler()->ProcessEvent(wxevent); + win->HandleWindowEvent(wxevent); } } } @@ -594,6 +594,7 @@ wxMacAppMenuEventHandler( EventHandlerCallRef WXUNUSED(handler), return eventNotHandledErr; } +#ifndef __LP64__ static pascal OSStatus wxMacAppCommandEventHandler( EventHandlerCallRef WXUNUSED(handler) , EventRef event , @@ -630,6 +631,7 @@ wxMacAppCommandEventHandler( EventHandlerCallRef WXUNUSED(handler) , } return result ; } +#endif static pascal OSStatus wxMacAppApplicationEventHandler( EventHandlerCallRef WXUNUSED(handler) , @@ -667,14 +669,15 @@ pascal OSStatus wxMacAppEventHandler( EventHandlerCallRef handler , EventRef eve OSStatus result = eventNotHandledErr ; switch ( GetEventClass( event ) ) { +#ifndef __LP64__ case kEventClassCommand : result = wxMacAppCommandEventHandler( handler , event , data ) ; break ; - +#endif case kEventClassApplication : result = wxMacAppApplicationEventHandler( handler , event , data ) ; break ; - +#ifndef __LP64__ case kEventClassMenu : result = wxMacAppMenuEventHandler( handler , event , data ) ; break ; @@ -692,13 +695,23 @@ pascal OSStatus wxMacAppEventHandler( EventHandlerCallRef handler , EventRef eve result = wxMacTopLevelMouseEventHandler( handler , event , NULL ) ; } break ; - +#endif case kEventClassAppleEvent : { - EventRecord rec ; +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 + if ( AEProcessEvent != NULL ) + { + result = AEProcessEvent(event); + } +#endif +#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5 + { + EventRecord rec ; - wxMacConvertEventToRecord( event , &rec ) ; - result = AEProcessAppleEvent( &rec ) ; + wxMacConvertEventToRecord( event , &rec ) ; + result = AEProcessAppleEvent( &rec ) ; + } +#endif } break ; @@ -775,8 +788,7 @@ bool wxApp::Initialize(int& argc, wxChar **argv) #endif UMAInitToolbox( 4, sm_isEmbedded ) ; - SetEventMask( everyEvent ) ; - UMAShowWatchCursor() ; +// TODO CHECK Can Be Removed SetEventMask( everyEvent ) ; // Mac OS X passes a process serial number command line argument when // the application is launched from the Finder. This argument must be @@ -822,8 +834,6 @@ bool wxApp::Initialize(int& argc, wxChar **argv) // run loop takes ownership CFRelease(m_macEventPosted); - UMAShowArrowCursor() ; - return true; } @@ -838,15 +848,15 @@ bool wxApp::OnInitGui() { if ( !wxAppBase::OnInitGui() ) return false ; - +#ifndef __LP64__ InstallStandardEventHandler( GetApplicationEventTarget() ) ; - if (!sm_isEmbedded) { InstallApplicationEventHandler( GetwxMacAppEventHandlerUPP(), GetEventTypeCount(eventList), eventList, wxTheApp, (EventHandlerRef *)&(wxTheApp->m_macEventHandler)); } +#endif if (!sm_isEmbedded) { @@ -892,8 +902,6 @@ void wxApp::CleanUp() // One last chance for pending objects to be cleaned up wxTheApp->DeletePendingObjects(); - UMACleanupToolbox() ; - if (!sm_isEmbedded) RemoveEventHandler( (EventHandlerRef)(wxTheApp->m_macEventHandler) ); @@ -927,6 +935,7 @@ void wxApp::CleanUp() // misc initialization stuff //---------------------------------------------------------------------- +#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5 bool wxMacConvertEventToRecord( EventRef event , EventRecord *rec) { OSStatus err = noErr ; @@ -967,9 +976,7 @@ bool wxMacConvertEventToRecord( EventRef event , EventRecord *rec) UInt32 keyCode ; unsigned char charCode ; UInt32 modifiers ; -#ifndef __LP64__ GetMouse( &rec->where) ; -#endif err = GetEventParameter(event, kEventParamKeyModifiers, typeUInt32, NULL, 4, NULL, &modifiers); err = GetEventParameter(event, kEventParamKeyCode, typeUInt32, NULL, 4, NULL, &keyCode); err = GetEventParameter(event, kEventParamKeyMacCharCodes, typeChar, NULL, 1, NULL, &charCode); @@ -994,10 +1001,7 @@ bool wxMacConvertEventToRecord( EventRef event , EventRecord *rec) { UInt32 keyCode, modifiers; unsigned char charCode ; -#ifndef __LP64__ - GetMouse( &rec->where) ; -#endif rec->what = keyDown ; err = GetEventParameter(rawEvent, kEventParamKeyModifiers, typeUInt32, NULL, 4, NULL, &modifiers); err = GetEventParameter(rawEvent, kEventParamKeyCode, typeUInt32, NULL, 4, NULL, &keyCode); @@ -1021,6 +1025,7 @@ bool wxMacConvertEventToRecord( EventRef event , EventRecord *rec) return converted ; } +#endif wxApp::wxApp() { @@ -1403,7 +1408,7 @@ bool wxApp::MacSendKeyDownEvent( wxWindow* focus , long keymessage , long modifi wxKeyEvent event(wxEVT_KEY_DOWN) ; MacCreateKeyEvent( event, focus , keymessage , modifiers , when , wherex , wherey , uniChar ) ; - handled = focus->GetEventHandler()->ProcessEvent( event ) ; + handled = focus->HandleWindowEvent( event ) ; if ( handled && event.GetSkipped() ) handled = false ; @@ -1450,7 +1455,7 @@ bool wxApp::MacSendKeyUpEvent( wxWindow* focus , long keymessage , long modifier bool handled; wxKeyEvent event( wxEVT_KEY_UP ) ; MacCreateKeyEvent( event, focus , keymessage , modifiers , when , wherex , wherey , uniChar ) ; - handled = focus->GetEventHandler()->ProcessEvent( event ) ; + handled = focus->HandleWindowEvent( event ) ; return handled ; } @@ -1471,7 +1476,7 @@ bool wxApp::MacSendCharEvent( wxWindow* focus , long keymessage , long modifiers if (tlw) { event.SetEventType( wxEVT_CHAR_HOOK ); - handled = tlw->GetEventHandler()->ProcessEvent( event ); + handled = tlw->HandleWindowEvent( event ); if ( handled && event.GetSkipped() ) handled = false ; } @@ -1480,7 +1485,7 @@ bool wxApp::MacSendCharEvent( wxWindow* focus , long keymessage , long modifiers { event.SetEventType( wxEVT_CHAR ); event.Skip( false ) ; - handled = focus->GetEventHandler()->ProcessEvent( event ) ; + handled = focus->HandleWindowEvent( event ) ; } if ( !handled && (keyval == WXK_TAB) ) @@ -1496,7 +1501,7 @@ bool wxApp::MacSendCharEvent( wxWindow* focus , long keymessage , long modifiers /* CTRL-TAB changes the (parent) window, i.e. switch notebook page */ new_event.SetWindowChange( event.ControlDown() ); new_event.SetCurrentFocus( focus ); - handled = focus->GetParent()->GetEventHandler()->ProcessEvent( new_event ); + handled = focus->GetParent()->HandleWindowEvent( new_event ); if ( handled && new_event.GetSkipped() ) handled = false ; } @@ -1510,6 +1515,7 @@ bool wxApp::MacSendCharEvent( wxWindow* focus , long keymessage , long modifiers { // if window is not having a focus still testing for default enter or cancel // TODO: add the UMA version for ActiveNonFloatingWindow +#ifndef __LP64__ wxWindow* focus = wxFindWinFromMacWindow( FrontWindow() ) ; if ( focus ) { @@ -1534,9 +1540,10 @@ bool wxApp::MacSendCharEvent( wxWindow* focus , long keymessage , long modifiers // generate wxID_CANCEL if command-. or has been pressed (typically in dialogs) wxCommandEvent new_event(wxEVT_COMMAND_BUTTON_CLICKED,wxID_CANCEL); new_event.SetEventObject( focus ); - handled = focus->GetEventHandler()->ProcessEvent( new_event ); + handled = focus->HandleWindowEvent( new_event ); } } +#endif } return handled ; }