]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/statbox_osx.cpp
common implementation files
[wxWidgets.git] / src / osx / statbox_osx.cpp
diff --git a/src/osx/statbox_osx.cpp b/src/osx/statbox_osx.cpp
new file mode 100644 (file)
index 0000000..2b7b57e
--- /dev/null
@@ -0,0 +1,69 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        src/osx/statbox_osx.cpp
+// 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
+/////////////////////////////////////////////////////////////////////////////
+
+#include "wx/wxprec.h"
+
+#if wxUSE_STATBOX
+
+#include "wx/statbox.h"
+#include "wx/osx/private.h"
+
+IMPLEMENT_DYNAMIC_CLASS(wxStaticBox, wxControl)
+
+bool wxStaticBox::Create( wxWindow *parent,
+    wxWindowID id,
+    const wxString& label,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style,
+    const wxString& name )
+{
+    m_macIsUserPane = false;
+
+    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() );
+
+    MacPostControlCreate( pos, size );
+
+    return true;
+}
+
+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;
+    }
+
+    *borderTop = extraTop;
+    if ( !m_label.empty() )
+        *borderTop += GetCharHeight();
+
+    *borderOther = other;
+}
+
+#endif // wxUSE_STATBOX
+