.. wxPython Phoenix documentation

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

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

.. include:: headings.inc

.. currentmodule:: wx.lib.agw.fourwaysplitter

.. highlight:: python



.. _wx.lib.agw.fourwaysplitter.FourWaySplitterEvent:

==========================================================================================================================================
|phoenix_title|  **wx.lib.agw.fourwaysplitter.FourWaySplitterEvent**
==========================================================================================================================================

This event class is almost the same as :class:`SplitterEvent` except
it adds an accessor for the sash index that is being changed.  The
same event type IDs and event binders are used as with
:class:`SplitterEvent`.



|

|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>FourWaySplitterEvent</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.lib.agw.fourwaysplitter.FourWaySplitterEvent_inheritance.png" alt="Inheritance diagram of FourWaySplitterEvent" 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.lib.agw.fourwaysplitter.FourWaySplitterEvent.html" title="wx.lib.agw.fourwaysplitter.FourWaySplitterEvent" alt="" coords="5,237,343,267"/> <area shape="rect" id="node2" href="wx.CommandEvent.html" title="wx.CommandEvent" alt="" coords="99,160,249,189"/> <area shape="rect" id="node3" href="wx.Event.html" title="wx.Event" alt="" coords="133,83,215,112"/> <area shape="rect" id="node4" href="wx.Object.html" title="wx.Object" alt="" coords="131,5,217,35"/> </map> 
   </p>
   </div>

|


|super_classes| Known Superclasses
==================================

:class:`wx.CommandEvent`

|


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

================================================================================ ================================================================================
:meth:`~wx.lib.agw.fourwaysplitter.FourWaySplitterEvent.__init__`                Default class constructor.
:meth:`~wx.lib.agw.fourwaysplitter.FourWaySplitterEvent.Allow`                   This is the opposite of :meth:`~FourWaySplitterEvent.Veto`: it explicitly allows the event to be processed.
:meth:`~wx.lib.agw.fourwaysplitter.FourWaySplitterEvent.GetSashIdx`              Returns the index of the sash currently involved in the event.
:meth:`~wx.lib.agw.fourwaysplitter.FourWaySplitterEvent.GetSashPosition`         Returns the new sash position.
:meth:`~wx.lib.agw.fourwaysplitter.FourWaySplitterEvent.IsAllowed`               Returns ``True`` if the change is allowed (:meth:`~FourWaySplitterEvent.Veto` hasn't been called) or
:meth:`~wx.lib.agw.fourwaysplitter.FourWaySplitterEvent.SetSashIdx`              Sets the index of the sash currently involved in the event.
:meth:`~wx.lib.agw.fourwaysplitter.FourWaySplitterEvent.SetSashPosition`         In the case of ``EVT_SPLITTER_SASH_POS_CHANGED`` events, sets the new sash
:meth:`~wx.lib.agw.fourwaysplitter.FourWaySplitterEvent.Veto`                    Prevents the change announced by this event from happening.
================================================================================ ================================================================================


|


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


.. class:: FourWaySplitterEvent(wx.CommandEvent)

   This event class is almost the same as :class:`SplitterEvent` except
   it adds an accessor for the sash index that is being changed.  The
   same event type IDs and event binders are used as with
   :class:`SplitterEvent`.

   .. method:: __init__(self, evtType=wx.wxEVT_NULL, splitter=None)

      Default class constructor.
      
      :param `evtType`: the event type;
      :param `splitter`: the associated :class:`FourWaySplitter` window.


   .. method:: Allow(self)

      This is the opposite of :meth:`~FourWaySplitterEvent.Veto`: it explicitly allows the event to be processed.
      For most events it is not necessary to call this method as the events are
      allowed anyhow but some are forbidden by default (this will be mentioned
      in the corresponding event description).


   .. method:: GetSashIdx(self)

      Returns the index of the sash currently involved in the event. 


   .. method:: GetSashPosition(self)

      Returns the new sash position.
      
      :note: May only be called while processing ``EVT_SPLITTER_SASH_POS_CHANGING``
       and ``EVT_SPLITTER_SASH_POS_CHANGED`` events.


   .. method:: IsAllowed(self)

      Returns ``True`` if the change is allowed (:meth:`~FourWaySplitterEvent.Veto` hasn't been called) or
      ``False`` otherwise (if it was).


   .. method:: SetSashIdx(self, idx)

      Sets the index of the sash currently involved in the event.
      
      :param `idx`: an integer between 0 and 3, representing the index of the
       sash involved in the event.


   .. method:: SetSashPosition(self, pos)

      In the case of ``EVT_SPLITTER_SASH_POS_CHANGED`` events, sets the new sash
      position. In the case of ``EVT_SPLITTER_SASH_POS_CHANGING`` events, sets
      the new tracking bar position so visual feedback during dragging will represent
      that change that will actually take place. Set to -1 from the event handler
      code to prevent repositioning.
      
      :param `pos`: the new sash position.
      
      :note: May only be called while processing ``EVT_SPLITTER_SASH_POS_CHANGING``
       and ``EVT_SPLITTER_SASH_POS_CHANGED`` events.


   .. method:: Veto(self)

      Prevents the change announced by this event from happening.
      
      :note: It is in general a good idea to notify the user about the reasons
       for vetoing the change because otherwise the applications behaviour (which
       just refuses to do what the user wants) might be quite surprising.


