Implement wxWindow::SetFocusIgnoringChildren for GTK+
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48712 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
c2e4537233
commit
7cec1c9e15
@ -177,7 +177,7 @@ protected:
|
||||
\
|
||||
void classname::SetFocusIgnoringChildren() \
|
||||
{ \
|
||||
SetFocus(); \
|
||||
basename::SetFocusIgnoringChildren(); \
|
||||
}
|
||||
|
||||
#else // !wxHAS_NATIVE_TAB_TRAVERSAL
|
||||
|
@ -60,6 +60,7 @@ public:
|
||||
virtual bool IsRetained() const;
|
||||
|
||||
virtual void SetFocus();
|
||||
virtual void SetFocusIgnoringChildren();
|
||||
virtual void SetCanFocus(bool canFocus);
|
||||
|
||||
virtual bool Reparent( wxWindowBase *newParent );
|
||||
|
@ -3172,6 +3172,24 @@ bool wxWindowGTK::GTKSetDelayedFocusIfNeeded()
|
||||
return false;
|
||||
}
|
||||
|
||||
void wxWindowGTK::SetFocusIgnoringChildren()
|
||||
{
|
||||
wxCHECK_RET( m_widget != NULL, wxT("invalid window") );
|
||||
if ( m_hasFocus )
|
||||
{
|
||||
// don't do anything if we already have focus
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_wxwindow)
|
||||
{
|
||||
if (!GTK_WIDGET_CAN_FOCUS(m_wxwindow))
|
||||
GTK_WIDGET_SET_FLAGS(m_wxwindow, GTK_CAN_FOCUS);
|
||||
}
|
||||
|
||||
wxWindowGTK::SetFocus();
|
||||
}
|
||||
|
||||
void wxWindowGTK::SetFocus()
|
||||
{
|
||||
wxCHECK_RET( m_widget != NULL, wxT("invalid window") );
|
||||
|
Loading…
Reference in New Issue
Block a user