X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8d7eaf91403705cdd94acaae0d7413e711cce3dc..d4d8988c72e26ea5ef68b87a53691da7c3751a95:/src/common/wincmn.cpp diff --git a/src/common/wincmn.cpp b/src/common/wincmn.cpp index 19ee280fe2..a18e65850a 100644 --- a/src/common/wincmn.cpp +++ b/src/common/wincmn.cpp @@ -221,9 +221,6 @@ wxWindowBase::wxWindowBase() // VZ: this one shouldn't exist... m_isBeingDeleted = false; - - // Reserved for future use - m_windowReserved = NULL; } // common part of window creation process @@ -446,8 +443,10 @@ void wxWindowBase::InvalidateBestSize() 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(); } @@ -713,6 +712,18 @@ wxSize wxWindowBase::DoGetVirtualSize() const return size; } +void wxWindowBase::DoGetScreenPosition(int *x, int *y) const +{ + // screen position is the same as (0, 0) in client coords for non TLWs (and + // TLWs override this method) + if ( x ) + *x = 0; + if ( y ) + *y = 0; + + ClientToScreen(x, y); +} + // ---------------------------------------------------------------------------- // show/hide/enable/disable the window // ---------------------------------------------------------------------------- @@ -1992,44 +2003,13 @@ void wxWindowBase::UpdateWindowUI(long flags) } // 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