added wxWindow::NavigateIn(); provide wxGTK implementation of DoNavigateIn() working with native tab traversal

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-03-26 22:10:04 +00:00
parent 93febff2f3
commit 5644933fa6
7 changed files with 80 additions and 14 deletions

View File

@@ -62,6 +62,12 @@
#define wxHAS_NATIVE_ENABLED_MANAGEMENT
#endif
// This is defined when the underlying toolkit handles tab traversal natively
// (currently this only works under GTK+ 2)
#ifdef __WXGTK20__
#define wxHAS_NATIVE_TAB_TRAVERSAL
#endif
// ----------------------------------------------------------------------------
// forward declarations
// ----------------------------------------------------------------------------
@@ -592,8 +598,14 @@ public:
bool CanAcceptFocusFromKeyboard() const
{ return AcceptsFocusFromKeyboard() && CanAcceptFocus(); }
// navigates in the specified direction by sending a wxNavigationKeyEvent
virtual bool Navigate(int flags = wxNavigationKeyEvent::IsForward);
// navigates inside this window
bool NavigateIn(int flags = wxNavigationKeyEvent::IsForward)
{ return DoNavigateIn(flags); }
// navigates in the specified direction from this window, this is
// equivalent to GetParent()->NavigateIn()
bool Navigate(int flags = wxNavigationKeyEvent::IsForward)
{ return m_parent && ((wxWindowBase *)m_parent)->DoNavigateIn(flags); }
// move this window just before/after the specified one in tab order
// (the other window must be our sibling!)
@@ -1200,6 +1212,10 @@ protected:
};
virtual void DoMoveInTabOrder(wxWindow *win, MoveKind move);
// implementation of Navigate() and NavigateIn()
virtual bool DoNavigateIn(int flags);
#if wxUSE_CONSTRAINTS
// satisfy the constraints for the windows but don't set the window sizes
void SatisfyConstraints();