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:
@@ -177,7 +177,7 @@ protected:
|
|||||||
\
|
\
|
||||||
void classname::SetFocusIgnoringChildren() \
|
void classname::SetFocusIgnoringChildren() \
|
||||||
{ \
|
{ \
|
||||||
SetFocus(); \
|
basename::SetFocusIgnoringChildren(); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#else // !wxHAS_NATIVE_TAB_TRAVERSAL
|
#else // !wxHAS_NATIVE_TAB_TRAVERSAL
|
||||||
|
@@ -60,6 +60,7 @@ public:
|
|||||||
virtual bool IsRetained() const;
|
virtual bool IsRetained() const;
|
||||||
|
|
||||||
virtual void SetFocus();
|
virtual void SetFocus();
|
||||||
|
virtual void SetFocusIgnoringChildren();
|
||||||
virtual void SetCanFocus(bool canFocus);
|
virtual void SetCanFocus(bool canFocus);
|
||||||
|
|
||||||
virtual bool Reparent( wxWindowBase *newParent );
|
virtual bool Reparent( wxWindowBase *newParent );
|
||||||
|
@@ -3172,6 +3172,24 @@ bool wxWindowGTK::GTKSetDelayedFocusIfNeeded()
|
|||||||
return false;
|
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()
|
void wxWindowGTK::SetFocus()
|
||||||
{
|
{
|
||||||
wxCHECK_RET( m_widget != NULL, wxT("invalid window") );
|
wxCHECK_RET( m_widget != NULL, wxT("invalid window") );
|
||||||
|
Reference in New Issue
Block a user