X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ade4eb65afcd813d5c184cb8bf3798de3d0dab97..6fbcc6cac395cb13dc8395cf72066227563e7bd3:/include/wx/sizer.h diff --git a/include/wx/sizer.h b/include/wx/sizer.h index 76687aed61..ce907346bb 100644 --- a/include/wx/sizer.h +++ b/include/wx/sizer.h @@ -59,7 +59,8 @@ public: int border, wxObject* userData ); - ~wxSizerItem(); + wxSizerItem(); + virtual ~wxSizerItem(); virtual void DeleteWindows(); @@ -73,8 +74,16 @@ public: wxSize GetMinSize() const { return m_minSize; } + void SetMinSize(const wxSize& size) + { + if (IsWindow() && !(m_flag & wxFIXED_MINSIZE)) + m_window->SetSizeHints(size); + m_minSize = size; + } + void SetMinSize( int x, int y ) + { SetMinSize(wxSize(x, y)); } void SetInitSize( int x, int y ) - { m_minSize.x = x; m_minSize.y = y; } + { SetMinSize(wxSize(x, y)); } void SetRatio( int width, int height ) // if either of dimensions is zero, ratio is assumed to be 1 @@ -111,7 +120,7 @@ public: wxWindow *GetWindow() const { return m_window; } void SetWindow( wxWindow *window ) - { m_window = window; } + { m_window = window; m_minSize = window->GetSize(); } wxSizer *GetSizer() const { return m_sizer; } void SetSizer( wxSizer *sizer ) @@ -304,7 +313,7 @@ public: bool IsShown( size_t index ) const; // Recursively call wxWindow::Show () on all sizer items. - void ShowItems (bool show); + virtual void ShowItems (bool show); protected: wxSize m_size; @@ -412,12 +421,19 @@ public: void SetNonFlexibleGrowMode(wxFlexSizerGrowMode mode) { m_growMode = mode; } wxFlexSizerGrowMode GetNonFlexibleGrowMode() const { return m_growMode; } - + // Read-only access to the row heights and col widths arrays + const wxArrayInt& GetRowHeights() const { return m_rowHeights; } + const wxArrayInt& GetColWidths() const { return m_colWidths; } + // implementation virtual void RecalcSizes(); virtual wxSize CalcMin(); protected: + void AdjustForFlexDirection(); + void AdjustForGrowables(const wxSize& sz, const wxSize& minsz, + int nrows, int ncols); + // the heights/widths of all rows/columns wxArrayInt m_rowHeights, m_colWidths; @@ -489,6 +505,9 @@ public: wxStaticBox *GetStaticBox() const { return m_staticBox; } + // override to hide/show the static box as well + virtual void ShowItems (bool show); + protected: wxStaticBox *m_staticBox;