+ // Synthetize navigation key event, but do it only if the TAB key
+ // wasn't handled yet.
+ // FIXME_MGL - isn't this wxUniv's business?
+ if ( !ret && event.m_keyCode == WXK_TAB &&
+ win->GetParent() && win->GetParent()->HasFlag(wxTAB_TRAVERSAL) )
+ {
+ wxNavigationKeyEvent navEvent;
+ navEvent.SetEventObject(win->GetParent());
+ // Shift-TAB goes in reverse direction:
+ navEvent.SetDirection(!event.m_shiftDown);
+ // Ctrl-TAB changes the (parent) window, i.e. switch notebook page:
+ navEvent.SetWindowChange(event.m_controlDown);
+ navEvent.SetCurrentFocus(wxStaticCast(win, wxWindow));
+ ret = win->GetParent()->GetEventHandler()->ProcessEvent(navEvent);
+ }
+