void wxApp::CleanUp()
{
+#if wxUSE_TOOLTIPS
wxToolTip::RemoveToolTips() ;
+#endif
// One last chance for pending objects to be cleaned up
wxTheApp->DeletePendingObjects();
#endif
-bool wxApp::MacSendKeyDownEvent( wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey )
+bool wxApp::MacSendKeyDownEvent( wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey , wxChar uniChar )
{
if ( !focus )
return false ;
event.m_altDown = modifiers & optionKey;
event.m_metaDown = modifiers & cmdKey;
event.m_keyCode = keyval ;
+#if wxUSE_UNICODE
+ event.m_uniChar = uniChar ;
+#endif
event.m_x = wherex;
event.m_y = wherey;
}
if (!handled)
{
+ wxTopLevelWindowMac *tlw = focus->MacGetTopLevelWindow() ;
+
+ if (tlw)
+ {
+ event.Skip( FALSE ) ;
+ event.SetEventType( wxEVT_CHAR_HOOK );
+ // raw value again
+ event.m_keyCode = realkeyval ;
+
+ handled = tlw->GetEventHandler()->ProcessEvent( event );
+ if ( handled && event.GetSkipped() )
+ handled = false ;
+ }
+ }
+
+ if ( !handled )
+ {
event.Skip( FALSE ) ;
event.SetEventType( wxEVT_CHAR ) ;
// raw value again
return handled ;
}
-bool wxApp::MacSendKeyUpEvent( wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey )
+bool wxApp::MacSendKeyUpEvent( wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey , wxChar uniChar )
{
if ( !focus )
return false ;
event.m_altDown = modifiers & optionKey;
event.m_metaDown = modifiers & cmdKey;
event.m_keyCode = keyval ;
+#if wxUSE_UNICODE
+ event.m_uniChar = uniChar ;
+#endif
event.m_x = wherex;
event.m_y = wherey;