]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/sizer.cpp
applied patch #103444
[wxWidgets.git] / src / common / sizer.cpp
index e71d728a8b312bdfd369f42487ff4f8a69966825..0a92ab056970a00e32c4854abc47d9f0c318c63a 100644 (file)
@@ -945,21 +945,32 @@ wxSize wxBoxSizer::CalcMin()
 //---------------------------------------------------------------------------
 
 wxStaticBoxSizer::wxStaticBoxSizer( wxStaticBox *box, int orient )
-  : wxBoxSizer( orient )
+                : wxBoxSizer( orient )
 {
     wxASSERT_MSG( box, wxT("wxStaticBoxSizer needs a static box") );
 
     m_staticBox = box;
 }
 
+static void GetStaticBoxBorders(wxStaticBox *box,
+                                int *borderTop, int *borderOther)
+{
+    // this has to be done platform by platform as there is no way to
+    // guess the thickness of a wxStaticBox border
+#ifdef __WXGTK__
+    if ( box->GetLabel().IsEmpty() )
+        *borderTop = 5;
+    else
+#endif // __WXGTK__
+        *borderTop = 15;
+
+    *borderOther = 5;
+}
+
 void wxStaticBoxSizer::RecalcSizes()
 {
-    // this will have to be done platform by platform
-    // as there is no way to guess the thickness of
-    // a wxStaticBox border
-    int top_border = 15;
-    if (m_staticBox->GetLabel().IsEmpty()) top_border = 5;
-    int other_border = 5;
+    int top_border, other_border;
+    GetStaticBoxBorders(m_staticBox, &top_border, &other_border);
 
     m_staticBox->SetSize( m_position.x, m_position.y, m_size.x, m_size.y );
 
@@ -978,13 +989,8 @@ void wxStaticBoxSizer::RecalcSizes()
 
 wxSize wxStaticBoxSizer::CalcMin()
 {
-    // This will have to be done platform by platform
-    // as there is no way to guess the thickness of
-    // a wxStaticBox border.
-
-    int top_border = 15;
-    if (m_staticBox->GetLabel().IsEmpty()) top_border = 5;
-    int other_border = 5;
+    int top_border, other_border;
+    GetStaticBoxBorders(m_staticBox, &top_border, &other_border);
 
     wxSize ret( wxBoxSizer::CalcMin() );
     ret.x += 2*other_border;