.. include:: headings.inc


.. _splitterwindow overview:

=================================================
|phoenix_title|  **Splitter Windows Overview**
=================================================


The following screenshot shows the appearance of a splitter window
with a horizontal split.

The style ``wx.SP_3D`` has been used to show a 3D border and 3D sash.

.. figure:: _static/images/overviews/overview_splitter_3d.png
   :align: center



Example
-------

The following fragment shows how to create a splitter window, creating
two subwindows and hiding one of them::

	splitter = wx.SplitterWindow(self, -1, wx.Point(0, 0),
				     wx.Size(400, 400), wx.SP_3D)

	leftWindow = MyWindow(splitter)
	leftWindow.SetScrollbars(20, 20, 50, 50)

	rightWindow = MyWindow(splitter)
	rightWindow.SetScrollbars(20, 20, 50, 50)
	rightWindow.Show(False)

	splitter.Initialize(leftWindow)

	# Set this to prevent unsplitting
	# splitter.SetMinimumPaneSize(20)


The next fragment shows how the splitter window can be manipulated
after creation::

	def OnSplitVertical(self, event):

	    if splitter.IsSplit():
		splitter.Unsplit()

	    leftWindow.Show(True)
	    rightWindow.Show(True)
	    splitter.SplitVertically(leftWindow, rightWindow)


	def OnSplitHorizontal(self, event):

	    if splitter.IsSplit():
		splitter.Unsplit()

	    leftWindow.Show(True)
	    rightWindow.Show(True)
	    splitter.SplitHorizontally(leftWindow, rightWindow)


	def OnUnsplit(self, event):

	    if splitter.IsSplit():
		splitter.Unsplit()