]>
git.saurik.com Git - wxWidgets.git/blob - src/mac/carbon/statbox.cpp
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxStaticBox
4 // Author: Stefan Csomor
8 // Copyright: (c) Stefan Csomor
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #include "wx/wxprec.h"
16 #include "wx/statbox.h"
17 #include "wx/mac/uma.h"
19 IMPLEMENT_DYNAMIC_CLASS(wxStaticBox
, wxControl
)
22 bool wxStaticBox::Create( wxWindow
*parent
,
24 const wxString
& label
,
28 const wxString
& name
)
30 m_macIsUserPane
= false;
32 if ( !wxControl::Create( parent
, id
, pos
, size
, style
, wxDefaultValidator
, name
) )
35 m_labelOrig
= m_label
= label
;
37 Rect bounds
= wxMacGetBoundsForControl( this, pos
, size
);
39 m_peer
= new wxMacControl( this );
40 OSStatus err
= CreateGroupBoxControl(
41 MAC_WXHWND(parent
->MacGetTopLevelWindowRef()), &bounds
, CFSTR(""),
42 true /*primary*/, m_peer
->GetControlRefAddr() );
45 MacPostControlCreate( pos
, size
);
50 void wxStaticBox::GetBordersForSizer(int *borderTop
, int *borderOther
) const
52 static int extraTop
= -1; // Uninitted
57 // The minimal border used for the top.
58 // Later on, the staticbox's font height is added to this.
61 if ( UMAGetSystemVersion() >= 0x1030 ) // Panther
63 // As indicated by the HIG, Panther needs an extra border of 11
64 // pixels (otherwise overlapping occurs at the top). The "other"
65 // border has to be 11.
71 *borderTop
= extraTop
;
72 if ( !m_label
.empty() )
73 *borderTop
+= GetCharHeight();
78 #endif // wxUSE_STATBOX