X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/670211021660f7adf0feed73da3a7065e863f132..73fe67bd60b57f95dc63809f7843ed2a15928436:/src/common/sizer.cpp diff --git a/src/common/sizer.cpp b/src/common/sizer.cpp index 9dfa1e376d..b6e4498e28 100644 --- a/src/common/sizer.cpp +++ b/src/common/sizer.cpp @@ -25,7 +25,11 @@ #include "wx/utils.h" #include "wx/statbox.h" #include "wx/notebook.h" -#include +#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"