m_bestSizeCache = wxDefaultSize;
// parent's best size calculation may depend on its children's
- // best sizes, so let's invalidate it as well to be safe:
- if (m_parent)
+ // as long as child window we are in is not top level window itself
+ // (because the TLW size is never resized automatically)
+ // so let's invalidate it as well to be safe:
+ if (m_parent && !IsTopLevel())
m_parent->InvalidateBestSize();
}
// If there is a sizer, use it instead of the constraints
if ( GetSizer() )
{
- int w, h;
+ int w = 0, h = 0;
GetVirtualSize(&w, &h);
GetSizer()->SetDimension( 0, 0, w, h );
}
}
// do the window-specific processing after processing the update event
-// TODO: take specific knowledge out of this function and
-// put in each control's base class. Unfortunately we don't
-// yet have base implementation files for wxCheckBox and wxRadioButton.
void wxWindowBase::DoUpdateWindowUI(wxUpdateUIEvent& event)
{
if ( event.GetSetEnabled() )
Enable(event.GetEnabled());
-#if wxUSE_CONTROLS
- if ( event.GetSetText() )
- {
- wxControl *control = wxDynamicCastThis(wxControl);
- if ( control )
- {
- if ( event.GetText() != control->GetLabel() )
- control->SetLabel(event.GetText());
- }
- }
-#endif // wxUSE_CONTROLS
-
- if ( event.GetSetChecked() )
- {
-#if wxUSE_CHECKBOX
- wxCheckBox *checkbox = wxDynamicCastThis(wxCheckBox);
- if ( checkbox )
- {
- checkbox->SetValue(event.GetChecked());
- }
-#endif // wxUSE_CHECKBOX
-
-#if wxUSE_RADIOBTN
- wxRadioButton *radiobtn = wxDynamicCastThis(wxRadioButton);
- if ( radiobtn )
- {
- radiobtn->SetValue(event.GetChecked());
- }
-#endif // wxUSE_RADIOBTN
- }
+ if ( event.GetSetShown() )
+ Show(event.GetShown());
}
#if 0