/////////////////////////////////////////////////////////////////////////////
-// Name: statbox.cpp
+// Name: src/osx/cocoa/statbox.mm
// Purpose: wxStaticBox
// Author: Stefan Csomor
// Modified by:
// Created: 1998-01-01
-// RCS-ID: $Id: statbox.cpp 54129 2008-06-11 19:30:52Z SC $
// Copyright: (c) Stefan Csomor
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+ (void)initialize
{
static BOOL initialized = NO;
- if (!initialized)
+ if (!initialized)
{
initialized = YES;
wxOSXCocoaClassAddWXMethods( self );
@end
-wxWidgetImplType* wxWidgetImpl::CreateGroupBox( wxWindowMac* wxpeer,
- wxWindowMac* WXUNUSED(parent),
- wxWindowID WXUNUSED(id),
+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,
+ const wxPoint& pos,
const wxSize& size,
- long WXUNUSED(style),
+ long WXUNUSED(style),
long WXUNUSED(extraStyle))
{
NSRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ;
wxNSBox* v = [[wxNSBox alloc] initWithFrame:r];
- wxWidgetCocoaImpl* c = new wxWidgetCocoaImpl( wxpeer, v );
+ wxStaticBoxCocoaImpl* c = new wxStaticBoxCocoaImpl( wxpeer, v );
+#if !wxOSX_USE_NATIVE_FLIPPED
c->SetFlipped(false);
+#endif
return c;
}