.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2018 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.WrapSizer:

==========================================================================================================================================
|phoenix_title|  **wx.WrapSizer**
==========================================================================================================================================

A wrap sizer lays out its items in a single line, like a box sizer          

Once all available space in the primary direction has been used, a new line is added and items are added there. 

So a wrap sizer has a primary orientation for adding items, and adds lines as needed in the secondary direction. 







         



.. seealso:: :ref:`wx.BoxSizer`, :ref:`wx.Sizer`, :ref:`Sizers Overview <sizers overview>`    







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>WrapSizer</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.WrapSizer_inheritance.png" alt="Inheritance diagram of WrapSizer" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.WrapSizer.html" title="A wrap sizer lays out its items in a single line, like a box sizer" alt="" coords="5,237,119,267"/> <area shape="rect" id="node2" href="wx.BoxSizer.html" title="The basic idea behind a box sizer is that windows will most often be laid out in rather simple basic geometry, typically in a row or a column or several hierarchies of either." alt="" coords="11,160,113,189"/> <area shape="rect" id="node3" href="wx.Sizer.html" title="wx.Sizer  is the abstract base class used for laying out subwindows in a window." alt="" coords="23,83,101,112"/> <area shape="rect" id="node4" href="wx.Object.html" title="This is the root class of many of the wxWidgets classes." alt="" coords="18,5,106,35"/> </map> 
   </p>
   </div>

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.WrapSizer.__init__`                                                   Constructor for a :ref:`wx.WrapSizer`.
:meth:`~wx.WrapSizer.CalcMin`                                                    Implements the calculation of a box sizer's minimal.
:meth:`~wx.WrapSizer.InformFirstDirection`                                       Not used by an application.
:meth:`~wx.WrapSizer.IsSpaceItem`                                                Can be overridden in the derived classes to treat some normal items as spacers.
:meth:`~wx.WrapSizer.RecalcSizes`                                                Implements the calculation of a box sizer's dimensions and then sets the size of its children (calling :meth:`wx.Window.SetSize`   if the child is a window).
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.WrapSizer(BoxSizer)

   **Possible constructors**::

       WrapSizer(orient=HORIZONTAL, flags=WRAPSIZER_DEFAULT_FLAGS)
       
   
   A wrap sizer lays out its items in a single line, like a box sizer  as
   long as there is space available in that direction.



   .. method:: __init__(self, orient=HORIZONTAL, flags=WRAPSIZER_DEFAULT_FLAGS)

      Constructor for a :ref:`wx.WrapSizer`.                  

      `orient`  determines the primary direction of the sizer (the most common case being  ``HORIZONTAL`` ). The flags parameter can be a combination of the values   ``EXTEND_LAST_ON_EACH_LINE``   which will cause the last item on each line to use any remaining space on that line and   ``REMOVE_LEADING_SPACES``   which removes any spacer elements from the beginning of a row. 

      Both of these flags are on by default.                  


      :param `orient`: 
      :type `orient`: int
      :param `flags`: 
      :type `flags`: int







   .. method:: CalcMin(self)

      Implements the calculation of a box sizer's minimal.                  

      It is used internally only and must not be called by the user. Documented for information.                  

      :rtype: :ref:`wx.Size`








   .. method:: InformFirstDirection(self, direction, size, availableOtherDir)

      Not used by an application.                  

      This is the mechanism by which sizers can inform sub-items of the first determined size component. The sub-item can then better determine its size requirements. 

      Returns ``True`` if the information was used (and the sub-item min size was updated).                  


      :param `direction`: 
      :type `direction`: int
      :param `size`: 
      :type `size`: int
      :param `availableOtherDir`: 
      :type `availableOtherDir`: int




      :rtype: `bool`








   .. method:: IsSpaceItem(self, item)

      Can be overridden in the derived classes to treat some normal items as spacers.                  

      This method is used to determine whether the given `item`  should be considered to be a spacer for the purposes of  ``REMOVE_LEADING_SPACES``   implementation. By default only returns ``True`` for the real spacers.                   


      :param `item`: 
      :type `item`: wx.SizerItem




      :rtype: `bool`








   .. method:: RecalcSizes(self)

      Implements the calculation of a box sizer's dimensions and then sets the size of its children (calling :meth:`wx.Window.SetSize`   if the child is a window).                  

      It is used internally only and must not be called by the user (call :meth:`Layout`   if you want to resize). Documented for information.