X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/71908213057690d5452f72b2b9c8e62b53357170..91c536df157aa500e832ff9e8541839d2e07f6b4:/src/univ/radiobox.cpp?ds=sidebyside diff --git a/src/univ/radiobox.cpp b/src/univ/radiobox.cpp index bb573abf26..249fba0b25 100644 --- a/src/univ/radiobox.cpp +++ b/src/univ/radiobox.cpp @@ -18,7 +18,7 @@ // ---------------------------------------------------------------------------- #ifdef __GNUG__ - #pragma implementation "radiobox.h" + #pragma implementation "univradiobox.h" #endif #include "wx/wxprec.h" @@ -303,12 +303,32 @@ void wxRadioBox::Show(int n, bool show) bool wxRadioBox::Enable(bool enable) { - return wxStaticBox::Enable(enable); + if ( !wxStaticBox::Enable(enable) ) + return FALSE; + + // also enable/disable the buttons + size_t count = m_buttons.GetCount(); + for ( size_t n = 0; n < count; n++ ) + { + Enable(n, enable); + } + + return TRUE; } bool wxRadioBox::Show(bool show) { - return wxStaticBox::Show(show); + if ( !wxStaticBox::Show(show) ) + return FALSE; + + // also show/hide the buttons + size_t count = m_buttons.GetCount(); + for ( size_t n = 0; n < count; n++ ) + { + Show(n, show); + } + + return TRUE; } wxString wxRadioBox::GetLabel() const @@ -369,9 +389,10 @@ void wxRadioBox::DoMoveWindow(int x0, int y0, int width, int height) wxSize sizeBtn = GetMaxButtonSize(); wxPoint ptOrigin = GetBoxAreaOrigin(); + wxPoint clientOrigin = GetParent() ? GetParent()->GetClientAreaOrigin() : wxPoint(0,0); - x0 += ptOrigin.x + BOX_BORDER_X; - y0 += ptOrigin.y + BOX_BORDER_Y; + x0 += ptOrigin.x + BOX_BORDER_X - clientOrigin.x; + y0 += ptOrigin.y + BOX_BORDER_Y - clientOrigin.y; int x = x0, y = y0;