Added dialog tabbing to wxX11.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -486,15 +486,28 @@ bool wxApp::ProcessXEvent(WXEvent* _event)
|
|||||||
|
|
||||||
// wxLogDebug( "OnKey from %s", win->GetName().c_str() );
|
// wxLogDebug( "OnKey from %s", win->GetName().c_str() );
|
||||||
|
|
||||||
// We didn't process wxEVT_KEY_DOWN, so send
|
// We didn't process wxEVT_KEY_DOWN, so send wxEVT_CHAR
|
||||||
// wxEVT_CHAR
|
if (win->GetEventHandler()->ProcessEvent( keyEvent ))
|
||||||
if (!win->GetEventHandler()->ProcessEvent( keyEvent ))
|
|
||||||
{
|
|
||||||
keyEvent.SetEventType(wxEVT_CHAR);
|
|
||||||
if (!win->GetEventHandler()->ProcessEvent( keyEvent ))
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
|
keyEvent.SetEventType(wxEVT_CHAR);
|
||||||
|
if (win->GetEventHandler()->ProcessEvent( keyEvent ))
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
if ( (keyEvent.m_keyCode == WXK_TAB) &&
|
||||||
|
win->GetParent() && (win->GetParent()->HasFlag( wxTAB_TRAVERSAL)) )
|
||||||
|
{
|
||||||
|
wxNavigationKeyEvent new_event;
|
||||||
|
new_event.SetEventObject( win->GetParent() );
|
||||||
|
/* GDK reports GDK_ISO_Left_Tab for SHIFT-TAB */
|
||||||
|
new_event.SetDirection( (keyEvent.m_keyCode == WXK_TAB) );
|
||||||
|
/* CTRL-TAB changes the (parent) window, i.e. switch notebook page */
|
||||||
|
new_event.SetWindowChange( keyEvent.ControlDown() );
|
||||||
|
new_event.SetCurrentFocus( win );
|
||||||
|
return win->GetParent()->GetEventHandler()->ProcessEvent( new_event );
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
case KeyRelease:
|
case KeyRelease:
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user