X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a3870b2ff595ba4bb4f0397ace77ceeb9628e94d..cd560c961a09a8ae80b9c32856e195ed784cc547:/src/univ/radiobox.cpp diff --git a/src/univ/radiobox.cpp b/src/univ/radiobox.cpp index 342374f9d2..249fba0b25 100644 --- a/src/univ/radiobox.cpp +++ b/src/univ/radiobox.cpp @@ -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;