-#endif
-}
-
-// ----------------------------------------------------------------------------
-// Keyboard handling - this is the place where the TAB traversal logic is
-// implemented. As this code is common to all ports, this ensures consistent
-// behaviour even if we don't specify how exactly the wxNavigationKeyEvent are
-// generated and this is done in platform specific code which also ensures that
-// we can follow the given platform standards.
-// ----------------------------------------------------------------------------
-
-void wxPanel::OnNavigationKey( wxNavigationKeyEvent& event )
-{
- const wxWindowList& children = GetChildren();
-
- // there is not much to do if we don't have children and we're not
- // interested in "notebook page change" events here
- if ( !children.GetCount() || event.IsWindowChange() )
- {
- wxWindow *parent = GetParent();
- if ( !parent || !parent->GetEventHandler()->ProcessEvent(event) )
- {
- event.Skip();
- }
-
- return;
- }
-
- // where are we going?
- bool forward = event.GetDirection();
-
- // the node of the children list from which we should start looking for the
- // next acceptable child
- wxWindowList::Node *node, *start_node;
-
- // the event is propagated downwards if the event emitter was our parent
- bool goingDown = event.GetEventObject() == GetParent();
-
- // we should start from the first/last control and not from the one which
- // had focus the last time if we're propagating the event downwards because
- // for our parent we look like a single control
- if ( goingDown )
- {
- // just to be sure it's not used (normally this is not necessary, but
- // doesn't hurt neither)
- m_winLastFocused = (wxWindow *)NULL;
-
- // start from first or last depending on where we're going
- node = forward ? children.GetFirst() : children.GetLast();
-
- // we want to cycle over all nodes
- start_node = (wxWindowList::Node *)NULL;
- }