]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/sizer.cpp
give the panel 3D grey colour by default: as it's not a native control, we must give...
[wxWidgets.git] / src / common / sizer.cpp
index 9dfa1e376d1952e271dd8355115d8d3f526460bb..b6e4498e287fc1fb4759948079013749febce075 100644 (file)
 #include "wx/utils.h"
 #include "wx/statbox.h"
 #include "wx/notebook.h"
-#include <wx/listimpl.cpp>
+#include "wx/listimpl.cpp"
+
+#ifdef __WXMAC__
+#   include "wx/mac/uma.h"
+#endif
 
 //---------------------------------------------------------------------------
 
@@ -189,12 +193,10 @@ wxSize wxSizerItem::CalcMin()
     }
     else
     {
-        if ( IsWindow() && (m_flag & wxADJUST_MINSIZE) )
+        if ( IsWindow() )
         {
-            // By user request, keep the minimal size for this item
-            // in sync with the largest of BestSize and any user supplied
-            // minimum size hint.  Useful in cases where the item is
-            // changeable -- static text labels, etc.
+            // the size of the window may change during run-time, we should
+            // use the current minimal size
             m_minSize = m_window->GetAdjustedBestSize();
         }
 
@@ -641,6 +643,10 @@ wxSize wxSizer::GetMinWindowSize( wxWindow *window )
                    minSize.y+size.y-client_size.y );
 }
 
+// TODO on mac we need a function that determines how much free space this
+// min size contains, in order to make sure that we have 20 pixels of free
+// space around the controls
+
 // Return a window size that will fit within the screens dimensions
 wxSize wxSizer::FitSize( wxWindow *window )
 {
@@ -1132,10 +1138,11 @@ wxSize wxFlexGridSizer::CalcMin()
     m_rowHeights.SetCount(nrows);
     m_colWidths.SetCount(ncols);
 
-    // We have to recalcuate the sizes in case an item has wxADJUST_MINSIZE, has changed
-    // minimum size since the previous layout, or has been hidden using wxSizer::Show().
-    // If all the items in a row/column are hidden, the final dimension of the row/column
-    // will be -1, indicating that the column itself is hidden.
+    // We have to recalcuate the sizes in case the item minimum size has
+    // changed since the previous layout, or the item has been hidden using
+    // wxSizer::Show(). If all the items in a row/column are hidden, the final
+    // dimension of the row/column will be -1, indicating that the column
+    // itself is hidden.
     for( s = m_rowHeights.GetCount(), i = 0; i < s; ++i )
         m_rowHeights[ i ] = -1;
     for( s = m_colWidths.GetCount(), i = 0; i < s; ++i )
@@ -1555,15 +1562,11 @@ static void GetStaticBoxBorders( wxStaticBox *box,
 
     if ( extraTop == -1 )
     {
-        int verMaj, verMin;
-        (void) ::wxGetOsVersion(&verMaj, &verMin);
-
         // The minimal border used for the top. Later on the staticbox'
         // font height is added to this.
         extraTop = 0;
 
-        // Is the Mac OS version OS X Panther or higher?
-        if ( ((verMaj << 16) + verMin) >= 0x00100030 )
+        if ( UMAGetSystemVersion() >= 0x1030 /*Panther*/ )
         {
             // As indicated by the HIG, Panther needs an extra border of 11
             // pixels (otherwise overlapping occurs at the top). The "other"