]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/statbox_osx.cpp
Disable wxUSE_ENH_METAFILE for wxGTK builds.
[wxWidgets.git] / src / osx / statbox_osx.cpp
index 2b7b57ee0826a88af3ddd83f35b0d1a8782d2bfc..fec97c5f4563aaa8f471edf09f348cbf1363af21 100644 (file)
@@ -4,7 +4,7 @@
 // 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
 /////////////////////////////////////////////////////////////////////////////
@@ -16,8 +16,6 @@
 #include "wx/statbox.h"
 #include "wx/osx/private.h"
 
-IMPLEMENT_DYNAMIC_CLASS(wxStaticBox, wxControl)
-
 bool wxStaticBox::Create( wxWindow *parent,
     wxWindowID id,
     const wxString& label,
@@ -25,15 +23,15 @@ bool wxStaticBox::Create( wxWindow *parent,
     const wxSize& size,
     long style,
     const wxString& name )
-{
-    m_macIsUserPane = false;
-
+{    
+    DontCreatePeer();
+    
     if ( !wxControl::Create( parent, id, pos, size, style, wxDefaultValidator, name ) )
         return false;
 
     m_labelOrig = m_label = label;
-    
-    m_peer = wxWidgetImpl::CreateGroupBox( this, parent, id, label, pos, size, style, GetExtraStyle() );
+
+    SetPeer(wxWidgetImpl::CreateGroupBox( this, parent, id, label, pos, size, style, GetExtraStyle() ));
 
     MacPostControlCreate( pos, size );
 
@@ -42,28 +40,30 @@ bool wxStaticBox::Create( wxWindow *parent,
 
 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;
-
-        // 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;
-    }
+    static int extraTop = 11; 
+    static int other = 11;
 
     *borderTop = extraTop;
     if ( !m_label.empty() )
+    {
+#if wxOSX_USE_COCOA
+        *borderTop += 11;
+#else
         *borderTop += GetCharHeight();
+#endif
+    }
 
     *borderOther = other;
 }
 
+bool wxStaticBox::SetFont(const wxFont& font)
+{
+    bool retval = wxWindowBase::SetFont( font );
+
+    // dont' update the native control, it has its own small font
+
+    return retval;
+}
+
 #endif // wxUSE_STATBOX