]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/cocoa/statbox.mm
notify the event loop that synthesized events are on the queue, wait for them to...
[wxWidgets.git] / src / osx / cocoa / statbox.mm
index c9dcb0cf584ecb287ed6f73bd7aab67a90524099..fae73a11c8b3664aa32fe2608cd82c1c820c1dbe 100644 (file)
@@ -1,10 +1,10 @@
 /////////////////////////////////////////////////////////////////////////////
-// 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 $
+// RCS-ID:      $Id$
 // Copyright:   (c) Stefan Csomor
 // Licence:       wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -21,7 +21,7 @@
 + (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;
 }