Don't let the built-in scrollbars confuse things when setting focus to

a wxScrolledWindow


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41083 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2006-09-09 06:34:08 +00:00
parent 8a378a9e16
commit afd7bf26f1

View File

@@ -68,18 +68,19 @@ bool wxControlContainer::AcceptsFocus() const
while ( node )
{
wxWindow *child = node->GetData();
if ( child->AcceptsFocus() )
{
return true;
}
node = node->GetNext();
#ifdef __WXMAC__
wxScrollBar *sb = wxDynamicCast( child , wxScrollBar ) ;
if ( sb == NULL || !m_winParent->MacIsWindowScrollbar( sb ) )
hasRealChildren = true ;
if ( sb && m_winParent->MacIsWindowScrollbar( sb ) )
continue;
#endif
node = node->GetNext();
if ( child->AcceptsFocus() )
{
return true;
}
}
#ifdef __WXMAC__
@@ -637,7 +638,14 @@ bool wxSetFocusToChild(wxWindow *win, wxWindow **childLastFocused)
while ( node )
{
wxWindow *child = node->GetData();
node = node->GetNext();
#ifdef __WXMAC__
wxScrollBar *sb = wxDynamicCast( child , wxScrollBar ) ;
if ( sb && child->GetParent()->MacIsWindowScrollbar( sb ) )
continue;
#endif
if ( child->AcceptsFocusFromKeyboard() && !child->IsTopLevel() )
{
#ifdef __WXMSW__
@@ -660,8 +668,6 @@ bool wxSetFocusToChild(wxWindow *win, wxWindow **childLastFocused)
child->SetFocusFromKbd();
return true;
}
node = node->GetNext();
}
return false;