.. 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.adv.SashLayoutWindow:

==========================================================================================================================================
|phoenix_title|  **wx.adv.SashLayoutWindow**
==========================================================================================================================================

:ref:`wx.adv.SashLayoutWindow`  responds to OnCalculateLayout events generated by :ref:`wx.adv.LayoutAlgorithm`.          

It allows the application to use simple accessors to specify how the window should be laid out, rather than having to respond to events. 

The fact that the class derives from :ref:`wx.adv.SashWindow`  allows sashes to be used if required, to allow the windows to be user-resizable. 

The documentation for :ref:`wx.adv.LayoutAlgorithm`  explains the purpose of this class in more detail. 

For the window styles see :ref:`wx.adv.SashWindow`. 

This class handles the ``EVT_QUERY_LAYOUT_INFO`` and ``EVT_CALCULATE_LAYOUT`` events for you. However, if you use sashes, see :ref:`wx.adv.SashWindow`  for relevant event information. See also :ref:`wx.adv.LayoutAlgorithm`  for information about the layout events. 







         



.. seealso:: :ref:`wx.adv.LayoutAlgorithm`, :ref:`wx.adv.SashWindow`, :ref:`Events and Event Handling <events and event handling>`    







|

|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>SashLayoutWindow</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.adv.SashLayoutWindow_inheritance.png" alt="Inheritance diagram of SashLayoutWindow" 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.adv.SashLayoutWindow.html" title="wx.adv.SashLayoutWindow  responds to OnCalculateLayout events generated by wx.adv.LayoutAlgorithm." alt="" coords="9,315,213,344"/> <area shape="rect" id="node2" href="wx.adv.SashWindow.html" title="wx.adv.SashWindow  allows any of its edges to have a sash which can be dragged to resize the window." alt="" coords="31,237,190,267"/> <area shape="rect" id="node3" href="wx.Window.html" title="wx.Window  is the base class for all windows and represents any visible object on screen." alt="" coords="62,160,159,189"/> <area shape="rect" id="node4" href="wx.EvtHandler.html" title="A class that can handle events from the windowing system." alt="" coords="51,83,170,112"/> <area shape="rect" id="node5" href="wx.Object.html" title="This is the root class of many of the wxWidgets classes." alt="" coords="5,5,93,35"/> <area shape="rect" id="node6" href="wx.Trackable.html" title="Add-on base class for a trackable object." alt="" coords="118,5,229,35"/> </map> 
   </p>
   </div>

|


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

================================================================================ ================================================================================
:meth:`~wx.adv.SashLayoutWindow.__init__`                                        Default constructor.
:meth:`~wx.adv.SashLayoutWindow.Create`                                          Initializes a sash layout window, which can be a child of a frame, dialog or any other non-control window.
:meth:`~wx.adv.SashLayoutWindow.GetAlignment`                                    Returns the alignment of the window: one of ``wx.adv.LAYOUT_TOP``, ``wx.adv.LAYOUT_LEFT``, ``wx.adv.LAYOUT_RIGHT``, ``wx.adv.LAYOUT_BOTTOM``.
:meth:`~wx.adv.SashLayoutWindow.GetClassDefaultAttributes`                       
:meth:`~wx.adv.SashLayoutWindow.GetOrientation`                                  Returns the orientation of the window: one of ``wx.adv.LAYOUT_HORIZONTAL``, ``wx.adv.LAYOUT_VERTICAL``.
:meth:`~wx.adv.SashLayoutWindow.OnCalculateLayout`                               The default handler for the event that is generated by :ref:`wx.adv.LayoutAlgorithm`.
:meth:`~wx.adv.SashLayoutWindow.OnQueryLayoutInfo`                               The default handler for the event that is generated by OnCalculateLayout to get size, alignment and orientation information for the window.
:meth:`~wx.adv.SashLayoutWindow.SetAlignment`                                    Sets the alignment of the window (which edge of the available parent client area the window is attached to).
:meth:`~wx.adv.SashLayoutWindow.SetDefaultSize`                                  Sets the default dimensions of the window.
:meth:`~wx.adv.SashLayoutWindow.SetOrientation`                                  Sets the orientation of the window (the direction the window will stretch in, to fill the available parent client area).
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.adv.SashLayoutWindow.Alignment`                                       See :meth:`~wx.adv.SashLayoutWindow.GetAlignment` and :meth:`~wx.adv.SashLayoutWindow.SetAlignment`
:attr:`~wx.adv.SashLayoutWindow.Orientation`                                     See :meth:`~wx.adv.SashLayoutWindow.GetOrientation` and :meth:`~wx.adv.SashLayoutWindow.SetOrientation`
================================================================================ ================================================================================


|


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


.. class:: wx.adv.SashLayoutWindow(SashWindow)

   **Possible constructors**::

       SashLayoutWindow()
       
       SashLayoutWindow(parent, id=ID_ANY, pos=DefaultPosition,
                        size=DefaultSize, style=CLIP_CHILDREN|SW_3D, name="layoutWindow")
       
   
   SashLayoutWindow responds to OnCalculateLayout events generated by
   LayoutAlgorithm.



   .. method:: __init__(self, *args, **kw)



      |overload| Overloaded Implementations:

      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self)`
      
      Default constructor.                   
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=CLIP_CHILDREN|SW_3D, name="layoutWindow")`
      
      Constructs a sash layout window, which can be a child of a frame, dialog or any other non-control window.                  
      
      
      
      
      :param `parent`: Pointer to a parent window.   
      :type `parent`: wx.Window
      :param `id`: Window identifier. If -1, will automatically create an identifier.   
      :type `id`: wx.WindowID
      :param `pos`: Window position. DefaultPosition is (-1, -1) which indicates that SashLayoutWindows should generate a default position for the window. If using the :ref:`wx.adv.SashLayoutWindow`  class directly, supply an actual position.   
      :type `pos`: wx.Point
      :param `size`: Window size. DefaultSize is (-1, -1) which indicates that SashLayoutWindows should generate a default size for the window.   
      :type `size`: wx.Size
      :param `style`: Window style. For window styles, please see :ref:`wx.adv.SashLayoutWindow`.   
      :type `style`: long
      :param `name`: Window name.   
      :type `name`: string
      
      
      
      
      
      
      
      
      
      
      
      
      
      
                        
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. method:: Create(self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=CLIP_CHILDREN|SW_3D, name="layoutWindow")

      Initializes a sash layout window, which can be a child of a frame, dialog or any other non-control window.                  




      :param `parent`: Pointer to a parent window.   
      :type `parent`: wx.Window
      :param `id`: Window identifier. If -1, will automatically create an identifier.   
      :type `id`: wx.WindowID
      :param `pos`: Window position. DefaultPosition is (-1, -1) which indicates that SashLayoutWindows should generate a default position for the window. If using the :ref:`wx.adv.SashLayoutWindow`  class directly, supply an actual position.   
      :type `pos`: wx.Point
      :param `size`: Window size. DefaultSize is (-1, -1) which indicates that SashLayoutWindows should generate a default size for the window.   
      :type `size`: wx.Size
      :param `style`: Window style. For window styles, please see :ref:`wx.adv.SashLayoutWindow`.   
      :type `style`: long
      :param `name`: Window name.   
      :type `name`: string
















      :rtype: `bool`



                  





   .. method:: GetAlignment(self)

      Returns the alignment of the window: one of ``wx.adv.LAYOUT_TOP``, ``wx.adv.LAYOUT_LEFT``, ``wx.adv.LAYOUT_RIGHT``, ``wx.adv.LAYOUT_BOTTOM``.                  

      :rtype: :ref:`wx.adv.LayoutAlignment`








   .. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL)




      :param `variant`: 
      :type `variant`: wx.WindowVariant




      :rtype: `VisualAttributes`     








   .. method:: GetOrientation(self)

      Returns the orientation of the window: one of ``wx.adv.LAYOUT_HORIZONTAL``, ``wx.adv.LAYOUT_VERTICAL``.                  

      :rtype: :ref:`wx.adv.LayoutOrientation`








   .. method:: OnCalculateLayout(self, event)

      The default handler for the event that is generated by :ref:`wx.adv.LayoutAlgorithm`.                  

      The implementation of this function calls :meth:`wx.adv.CalculateLayoutEvent.SetRect`   to shrink the provided size according to how much space this window takes up. For further details, see :ref:`wx.adv.LayoutAlgorithm`  and :ref:`wx.adv.CalculateLayoutEvent`.                  


      :param `event`: 
      :type `event`: wx.adv.CalculateLayoutEvent







   .. method:: OnQueryLayoutInfo(self, event)

      The default handler for the event that is generated by OnCalculateLayout to get size, alignment and orientation information for the window.                  

      The implementation of this function uses member variables as set by accessors called by the application. 

      For further details, see :ref:`wx.adv.LayoutAlgorithm`  and :ref:`wx.adv.QueryLayoutInfoEvent`.                  


      :param `event`: 
      :type `event`: wx.adv.QueryLayoutInfoEvent







   .. method:: SetAlignment(self, alignment)

      Sets the alignment of the window (which edge of the available parent client area the window is attached to).                  

      `alignment`  is one of ``wx.adv.LAYOUT_TOP``, ``wx.adv.LAYOUT_LEFT``, ``wx.adv.LAYOUT_RIGHT``, ``wx.adv.LAYOUT_BOTTOM``.                  


      :param `alignment`: 
      :type `alignment`: wx.adv.LayoutAlignment







   .. method:: SetDefaultSize(self, size)

      Sets the default dimensions of the window.                  

      The dimension other than the orientation will be fixed to this value, and the orientation dimension will be ignored and the window stretched to fit the available space.                  


      :param `size`: 
      :type `size`: wx.Size







   .. method:: SetOrientation(self, orientation)

      Sets the orientation of the window (the direction the window will stretch in, to fill the available parent client area).                  

      `orientation`  is one of ``wx.adv.LAYOUT_HORIZONTAL``, ``wx.adv.LAYOUT_VERTICAL``.                  


      :param `orientation`: 
      :type `orientation`: wx.adv.LayoutOrientation







   .. attribute:: Alignment

      See :meth:`~wx.adv.SashLayoutWindow.GetAlignment` and :meth:`~wx.adv.SashLayoutWindow.SetAlignment`


   .. attribute:: Orientation

      See :meth:`~wx.adv.SashLayoutWindow.GetOrientation` and :meth:`~wx.adv.SashLayoutWindow.SetOrientation`