X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/77ffb5937e89927b621128789401db8921fe580f..b9efe021b554fa3967d1442cf758435c5cd5ae8f:/src/mac/classic/app.cpp?ds=sidebyside diff --git a/src/mac/classic/app.cpp b/src/mac/classic/app.cpp index c2db305bfa..38d66723aa 100644 --- a/src/mac/classic/app.cpp +++ b/src/mac/classic/app.cpp @@ -6,7 +6,7 @@ // Created: 1998-01-01 // RCS-ID: $Id$ // Copyright: (c) Stefan Csomor -// Licence: wxWidgets licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ @@ -389,7 +389,7 @@ MenuEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) // due to the rather low-level event API of wxWidgets, we cannot use RunApplicationEventLoop // but have to use ReceiveNextEvent dealing with events manually, therefore we also have -// deal with clicks in the menu bar explicitely +// to deal with clicks in the menu bar explicitly pascal OSStatus wxMacWindowEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) ; @@ -1479,7 +1479,7 @@ void wxApp::MacHandleModifierEvents( WXEVENTREF evr ) event.m_x = ev->where.h; event.m_y = ev->where.v; - event.m_timeStamp = ev->when; + event.SetTimestamp( ev->when ); wxWindow* focus = wxWindow::FindFocus() ; event.SetEventObject(focus); @@ -1533,7 +1533,7 @@ void wxApp::MacHandleMouseDownEvent( WXEVENTREF evr ) ::GetWindowAttributes( frontWindow , &frontWindowAttributes ) ; short windowPart = ::FindWindow(ev->where, &window); - wxTopLevelWindowMac* win = wxFindWinFromMacWindow( window ) ; + wxTopLevelWindowMac* win = wxFindWinFromMacWindow( (WXWindow) window ) ; if ( wxPendingDelete.Member(win) ) return ; @@ -1707,7 +1707,7 @@ void wxApp::MacHandleMouseUpEvent( WXEVENTREF evr ) break ; default: { - wxTopLevelWindowMac* win = wxFindWinFromMacWindow( window ) ; + wxTopLevelWindowMac* win = wxFindWinFromMacWindow( (WXWindow) window ) ; if ( win ) win->MacMouseUp( ev , windowPart ) ; } @@ -1853,21 +1853,12 @@ int wxKeyCodeToMacModifier(wxKeyCode key) bool wxGetKeyState(wxKeyCode key) //virtual key code if < 10.2.x, else see below { -#if __WXMAC_CARBON__ -//#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 -//states with GetKeys... can only determine caps lock led - return !!(GetCurrentKeyModifiers() & wxKeyCodeToMacModifier(key)); -#else - KeyMap keymap; - GetKeys(keymap); - return !!(BitTst(keymap, (sizeof(KeyMap)*8) - key)); -#endif + wxASSERT_MSG(key != WXK_LBUTTON && key != WXK_RBUTTON && key != + WXK_MBUTTON, wxT("can't use wxGetKeyState() for mouse buttons")); + + KeyMap keymap; + GetKeys(keymap); + return !!(BitTst(keymap, (sizeof(KeyMap)*8) - key)); } #if !TARGET_CARBON @@ -1960,7 +1951,7 @@ bool wxApp::MacSendKeyDownEvent( wxWindow* focus , long keymessage , long modifi event.m_x = wherex; event.m_y = wherey; - event.m_timeStamp = when; + event.SetTimestamp(when); event.SetEventObject(focus); handled = focus->GetEventHandler()->ProcessEvent( event ) ; if ( handled && event.GetSkipped() ) @@ -2025,7 +2016,7 @@ bool wxApp::MacSendKeyDownEvent( wxWindow* focus , long keymessage , long modifi { // if window is not having a focus still testing for default enter or cancel // TODO add the UMA version for ActiveNonFloatingWindow - wxWindow* focus = wxFindWinFromMacWindow( FrontWindow() ) ; + wxWindow* focus = wxFindWinFromMacWindow( (WXWindow) FrontWindow() ) ; if ( focus ) { if ( keyval == WXK_RETURN ) @@ -2087,7 +2078,7 @@ bool wxApp::MacSendKeyUpEvent( wxWindow* focus , long keymessage , long modifier event.m_x = wherex; event.m_y = wherey; - event.m_timeStamp = when; + event.SetTimestamp(when); event.SetEventObject(focus); handled = focus->GetEventHandler()->ProcessEvent( event ) ; @@ -2109,7 +2100,7 @@ void wxApp::MacHandleActivateEvent( WXEVENTREF evr ) // if it is a floater we activate/deactivate the front non-floating window instead window = ::FrontNonFloatingWindow() ; } - wxTopLevelWindowMac* win = wxFindWinFromMacWindow( window ) ; + wxTopLevelWindowMac* win = wxFindWinFromMacWindow( (WXWindow) window ) ; if ( win ) win->MacActivate( ev->when , activate ) ; } @@ -2119,7 +2110,7 @@ void wxApp::MacHandleUpdateEvent( WXEVENTREF evr ) { EventRecord* ev = (EventRecord*) evr ; WindowRef window = (WindowRef) ev->message ; - wxTopLevelWindowMac * win = wxFindWinFromMacWindow( window ) ; + wxTopLevelWindowMac * win = wxFindWinFromMacWindow( (WXWindow) window ) ; if ( win ) { if ( !wxPendingDelete.Member(win) ) @@ -2177,13 +2168,13 @@ void wxApp::MacHandleOSEvent( WXEVENTREF evr ) if ( oldFrontWindow ) { - wxTopLevelWindowMac* win = wxFindWinFromMacWindow( oldFrontWindow ) ; + wxTopLevelWindowMac* win = wxFindWinFromMacWindow( (WXWindow) oldFrontWindow ) ; if ( win ) win->MacActivate( ev->when , false ) ; } if ( newFrontWindow ) { - wxTopLevelWindowMac* win = wxFindWinFromMacWindow( newFrontWindow ) ; + wxTopLevelWindowMac* win = wxFindWinFromMacWindow( (WXWindow) newFrontWindow ) ; if ( win ) win->MacActivate( ev->when , true ) ; } @@ -2226,7 +2217,7 @@ void wxApp::MacHandleOSEvent( WXEVENTREF evr ) event.m_metaDown = ev->modifiers & cmdKey; event.m_x = ev->where.h; event.m_y = ev->where.v; - event.m_timeStamp = ev->when; + event.SetTimestamp( ev->when ); event.SetEventObject(this); if ( wxWindow::s_lastMouseWindow ) @@ -2265,7 +2256,7 @@ void wxApp::MacHandleOSEvent( WXEVENTREF evr ) { case inContent : { - wxTopLevelWindowMac* win = wxFindWinFromMacWindow( window ) ; + wxTopLevelWindowMac* win = wxFindWinFromMacWindow( (WXWindow) window ) ; if ( win ) win->MacMouseMoved( ev , windowPart ) ; else @@ -2329,7 +2320,7 @@ void wxApp::MacHandleMouseMovedEvent(wxInt32 x , wxInt32 y ,wxUint32 modifiers , event.m_x = x; event.m_y = y; - event.m_timeStamp = timestamp; + event.SetTimestamp(timestamp); if ( wxWindow::s_lastMouseWindow ) {