X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b905d6cc083a38d46ae48712f5221236247a39ce..bcd882b35e56a43f894551a43bbc4937034b7a0b:/src/mac/carbon/statbox.cpp diff --git a/src/mac/carbon/statbox.cpp b/src/mac/carbon/statbox.cpp index cc29e9b267..d0e09ff227 100644 --- a/src/mac/carbon/statbox.cpp +++ b/src/mac/carbon/statbox.cpp @@ -27,7 +27,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxStaticBox, wxControl) /* * Static box */ - + bool wxStaticBox::Create(wxWindow *parent, wxWindowID id, const wxString& label, const wxPoint& pos, @@ -36,7 +36,7 @@ bool wxStaticBox::Create(wxWindow *parent, wxWindowID id, const wxString& name) { m_macIsUserPane = FALSE ; - + if ( !wxControl::Create(parent, id, pos, size, style, wxDefaultValidator, name) ) return false; @@ -44,14 +44,41 @@ bool wxStaticBox::Create(wxWindow *parent, wxWindowID id, m_label = label ; Rect bounds = wxMacGetBoundsForControl( this , pos , size ) ; - + m_peer = new wxMacControl(this) ; - verify_noerr(CreateGroupBoxControl(MAC_WXHWND(parent->MacGetTopLevelWindowRef()),&bounds, CFSTR("") , - true /*primary*/ , m_peer->GetControlRefAddr() ) ) ; + verify_noerr(CreateGroupBoxControl(MAC_WXHWND(parent->MacGetTopLevelWindowRef()),&bounds, CFSTR("") , + true /*primary*/ , m_peer->GetControlRefAddr() ) ) ; MacPostControlCreate(pos,size) ; - + return TRUE; } -#endif \ No newline at end of file +void wxStaticBox::GetBordersForSizer(int *borderTop, int *borderOther) const +{ + static int extraTop = -1; // Uninitted + static int other = 5; + + if ( extraTop == -1 ) + { + // The minimal border used for the top. Later on the staticbox' + // font height is added to this. + extraTop = 0; + + if ( UMAGetSystemVersion() >= 0x1030 /*Panther*/ ) + { + // As indicated by the HIG, Panther needs an extra border of 11 + // pixels (otherwise overlapping occurs at the top). The "other" + // border has to be 11. + extraTop = 11; + other = 11; + } + + } + + *borderTop = extraTop + GetCharHeight(); + *borderOther = other; +} + +#endif // wxUSE_STATBOX +