+
+ // win is a control: tab can be propagated up
+ if ((!ret) && (gdk_event->keyval == GDK_Tab))
+ {
+ wxNavigationKeyEvent new_event;
+ new_event.SetDirection( !(gdk_event->state & GDK_SHIFT_MASK) );
+ new_event.SetWindowChange( FALSE );
+ new_event.SetCurrentFocus( win );
+ ret = win->GetEventHandler()->ProcessEvent( new_event );
+ }
+
+/*
+ // win is a panel: up can be propagated to the panel
+ if ((!ret) && (win->m_wxwindow) && (win->m_parent) && (win->m_parent->AcceptsFocus()) &&
+ (gdk_event->keyval == GDK_Up))
+ {
+ win->m_parent->SetFocus();
+ ret = TRUE;
+ }
+
+ // win is a panel: left/right can be propagated to the panel
+ if ((!ret) && (win->m_wxwindow) &&
+ ((gdk_event->keyval == GDK_Right) || (gdk_event->keyval == GDK_Left) ||
+ (gdk_event->keyval == GDK_Up) || (gdk_event->keyval == GDK_Down)))
+ {
+ wxNavigationKeyEvent new_event;
+ new_event.SetDirection( (gdk_event->keyval == GDK_Right) || (gdk_event->keyval == GDK_Down) );
+ new_event.SetCurrentFocus( win );
+ ret = win->GetEventHandler()->ProcessEvent( new_event );
+ }
+*/
+