- Rect bounds ;
- Str255 title ;
-
- MacPreControlCreate( parent , id , label , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ;
-
- m_macControl = ::NewControl( MAC_WXHWND(parent->MacGetRootWindow()) , &bounds , title , false , 0 , 0 , 1,
- kControlGroupBoxTextTitleProc , (long) this ) ;
-
- MacPostControlCreate() ;
-
- return TRUE;
+ m_label = label;
+
+ Rect bounds = wxMacGetBoundsForControl( this, pos, size );
+
+ m_peer = new wxMacControl( this );
+ OSStatus err = CreateGroupBoxControl(
+ MAC_WXHWND(parent->MacGetTopLevelWindowRef()), &bounds, CFSTR(""),
+ true /*primary*/, m_peer->GetControlRefAddr() );
+ verify_noerr( err );
+
+ MacPostControlCreate( pos, size );
+
+ return true;
+}
+
+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's 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;