+@implementation wxNSBox
+
++ (void)initialize
+{
+ static BOOL initialized = NO;
+ if (!initialized)
+ {
+ initialized = YES;
+ wxOSXCocoaClassAddWXMethods( self );
+ }
+}
+
+@end
+
+namespace
+{
+ class wxStaticBoxCocoaImpl : public wxWidgetCocoaImpl
+ {
+ public:
+ wxStaticBoxCocoaImpl(wxWindowMac *wxpeer, wxNSBox *v)
+ : wxWidgetCocoaImpl(wxpeer, v)
+ {
+ }
+
+ virtual void SetLabel( const wxString& title, wxFontEncoding encoding )
+ {
+ if (title.empty())
+ [GetNSBox() setTitlePosition:NSNoTitle];
+ else
+ [GetNSBox() setTitlePosition:NSAtTop];
+
+ wxWidgetCocoaImpl::SetLabel(title, encoding);
+ }
+
+ private:
+ NSBox *GetNSBox() const
+ {
+ wxASSERT( [m_osxView isKindOfClass:[NSBox class]] );
+
+ return static_cast<NSBox*>(m_osxView);
+ }
+ };
+} // anonymous namespace
+
+
+wxWidgetImplType* wxWidgetImpl::CreateGroupBox( wxWindowMac* wxpeer,
+ wxWindowMac* WXUNUSED(parent),
+ wxWindowID WXUNUSED(id),
+ const wxString& WXUNUSED(label),
+ const wxPoint& pos,