X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f98de4487faac59af9d2d07e2ff23b8e852ce8eb..4f55a07f9f4c6ba6905aaa8e584e6fb14771d278:/src/common/sizer.cpp?ds=sidebyside diff --git a/src/common/sizer.cpp b/src/common/sizer.cpp index 8735020e9b..3686b3978a 100644 --- a/src/common/sizer.cpp +++ b/src/common/sizer.cpp @@ -32,7 +32,9 @@ IMPLEMENT_ABSTRACT_CLASS(wxSizer, wxObject); IMPLEMENT_ABSTRACT_CLASS(wxGridSizer, wxSizer); IMPLEMENT_ABSTRACT_CLASS(wxFlexGridSizer, wxGridSizer); IMPLEMENT_ABSTRACT_CLASS(wxBoxSizer, wxSizer); +#if wxUSE_STATBOX IMPLEMENT_ABSTRACT_CLASS(wxStaticBoxSizer, wxBoxSizer); +#endif #if wxUSE_NOTEBOOK IMPLEMENT_ABSTRACT_CLASS(wxNotebookSizer, wxSizer); #endif @@ -1017,6 +1019,8 @@ wxSize wxBoxSizer::CalcMin() // wxStaticBoxSizer //--------------------------------------------------------------------------- +#if wxUSE_STATBOX + wxStaticBoxSizer::wxStaticBoxSizer( wxStaticBox *box, int orient ) : wxBoxSizer( orient ) { @@ -1072,6 +1076,8 @@ wxSize wxStaticBoxSizer::CalcMin() return ret; } +#endif // wxUSE_STATBOX + //--------------------------------------------------------------------------- // wxNotebookSizer //--------------------------------------------------------------------------- @@ -1092,24 +1098,15 @@ void wxNotebookSizer::RecalcSizes() wxSize wxNotebookSizer::CalcMin() { - // This will have to be done platform by platform - // as there is no way to guess the thickness of - // the wxNotebook tabs and border. - - int borderX = 5; - int borderY = 5; - if ((m_notebook->HasFlag(wxNB_RIGHT)) || - (m_notebook->HasFlag(wxNB_LEFT))) - { - borderX += 90; // improvements later.. - } - else - { - borderY += 40; // improvements later.. - } + wxSize sizeBorder = m_notebook->CalcSizeFromPage(wxSize(0, 0)); + + sizeBorder.x += 5; + sizeBorder.y += 5; if (m_notebook->GetChildren().GetCount() == 0) - return wxSize(borderX + 10, borderY + 10); + { + return wxSize(sizeBorder.x + 10, sizeBorder.y + 10); + } int maxX = 0; int maxY = 0; @@ -1124,14 +1121,16 @@ wxSize wxNotebookSizer::CalcMin() { wxSize subsize( itemsizer->CalcMin() ); - if (subsize.x > maxX) maxX = subsize.x; - if (subsize.y > maxY) maxY = subsize.y; + if (subsize.x > maxX) + maxX = subsize.x; + if (subsize.y > maxY) + maxY = subsize.y; } node = node->GetNext(); } - return wxSize( borderX + maxX, borderY + maxY ); + return wxSize( maxX, maxY ) + sizeBorder; } #endif // wxUSE_NOTEBOOK