Don't disable wxStaticBox children at wx level when disabling it
Calling Enable() on all children from wxStaticBox::Enable() was wrong, the actual status of the child, returned by wxWindow::IsThisEnabled(), is not supposed to change just because its parent was disabled. Call NotifyWindowOnEnableChange() to avoid this, while still disabling the children visually.
This commit is contained in:
@@ -105,11 +105,15 @@ bool wxStaticBoxBase::Enable(bool enable)
|
||||
++i )
|
||||
{
|
||||
if ( *i != m_labelWin )
|
||||
(*i)->Enable(enable);
|
||||
(*i)->NotifyWindowOnEnableChange(enable);
|
||||
}
|
||||
|
||||
m_isEnabled = enable;
|
||||
|
||||
// Notice that we don't call DoEnable() on the box itself: under MSW it
|
||||
// doesn't actually change anything and under GTK this would disable
|
||||
// the label window.
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif // wxHAS_WINDOW_LABEL_IN_STATIC_BOX
|
||||
|
||||
Reference in New Issue
Block a user