+ /**
+ Detaches all children from the sizer.
+ If @a delete_windows is @true then child windows will also be deleted.
+ */
+ virtual void Clear(bool delete_windows = false);
+
+ /**
+ Computes client area size for @a window so that it matches the sizer's
+ minimal size. Unlike GetMinSize(), this method accounts for other
+ constraints imposed on @e window, namely display's size (returned size
+ will never be too large for the display) and maximum window size if
+ previously set by wxWindow::SetMaxSize().
+
+ The returned value is suitable for passing to wxWindow::SetClientSize() or
+ wxWindow::SetMinClientSize().
+
+ @since 2.8.8
+
+ @see ComputeFittingWindowSize(), Fit()
+ */
+ wxSize ComputeFittingClientSize(wxWindow* window);
+
+ /**
+ Like ComputeFittingClientSize(), but converts the result into window
+ size. The returned value is suitable for passing to wxWindow::SetSize()
+ or wxWindow::SetMinSize().
+
+ @since 2.8.8
+
+ @see ComputeFittingClientSize(), Fit()
+ */
+ wxSize ComputeFittingWindowSize(wxWindow* window);
+
+ /**
+ Detach the child @a window from the sizer without destroying it.
+
+ This method does not cause any layout or resizing to take place, call Layout()
+ to update the layout "on screen" after detaching a child from the sizer.
+
+ Returns @true if the child item was found and detached, @false otherwise.
+
+ @see Remove()
+ */
+ virtual bool Detach(wxWindow* window);
+
+ /**
+ Detach the child @a sizer from the sizer without destroying it.
+
+ This method does not cause any layout or resizing to take place, call Layout()
+ to update the layout "on screen" after detaching a child from the sizer.
+
+ Returns @true if the child item was found and detached, @false otherwise.
+
+ @see Remove()
+ */
+ virtual bool Detach(wxSizer* sizer);
+
+ /**
+ Detach a item at position @a index from the sizer without destroying it.
+
+ This method does not cause any layout or resizing to take place, call Layout()
+ to update the layout "on screen" after detaching a child from the sizer.
+ Returns @true if the child item was found and detached, @false otherwise.
+
+ @see Remove()
+ */
+ virtual bool Detach(int index);
+
+ /**
+ Tell the sizer to resize the @a window so that its client area matches the
+ sizer's minimal size (ComputeFittingClientSize() is called to determine it).
+ This is commonly done in the constructor of the window itself, see sample
+ in the description of wxBoxSizer.
+
+ @return The new window size.
+
+ @see ComputeFittingClientSize(), ComputeFittingWindowSize()
+ */
+ wxSize Fit(wxWindow* window);
+
+ /**
+ Tell the sizer to resize the virtual size of the @a window to match the sizer's
+ minimal size. This will not alter the on screen size of the window, but may
+ cause the addition/removal/alteration of scrollbars required to view the virtual
+ area in windows which manage it.
+
+ @see wxScrolled::SetScrollbars(), SetVirtualSizeHints()
+ */
+ void FitInside(wxWindow* window);
+
+ /**
+ Inform sizer about the first direction that has been decided (by
+ parent item). Returns true if it made use of the information (and
+ recalculated min size).
+ */
+ virtual bool InformFirstDirection(int direction, int size, int availableOtherDir);
+
+