Table Of Contents

Previous topic

MultiSplitterEvent

Next topic

statbmp

This Page

phoenix_title MultiSplitterWindow

This class is very similar to SplitterWindow except that it allows for more than two windows and more than one sash. Many of the same styles, constants, and methods behave the same as in wx.SplitterWindow. The key differences are seen in the methods that deal with the child windows managed by the splitter, and also those that deal with the sash positions. In most cases you will need to pass an index value to tell the class which window or sash you are refering to.

The concept of the sash position is also different than in wx.SplitterWindow. Since the wx.Splitterwindow has only one sash you can think of it’s position as either relative to the whole splitter window, or as relative to the first window pane managed by the splitter. Once there is more than one sash then the distinciton between the two concepts needs to be clairified. I’ve chosen to use the second definition, and sash positions are the distance (either horizontally or vertically) from the origin of the window just before the sash in the splitter stack.

NOTE: These things are not yet supported:

  • Using negative sash positions to indicate a position offset from the end.
  • User controlled unsplitting (with double clicks on the sash or dragging a sash until the pane size is zero.)
  • Sash gravity

class_hierarchy Inheritance Diagram

Inheritance diagram for class MultiSplitterWindow

Inheritance diagram of MultiSplitterWindow


super_classes Known Superclasses

PyPanel


method_summary Methods Summary

__init__  
AppendWindow Add a new window to the splitter at the right side or bottom
DetachWindow Removes the window from the stack of windows managed by the
DoGetBestSize Overridden base class virtual. Determines the best size of
ExchangeWindows Trade the positions in the splitter of the two windows.
GetMinimumPaneSize Returns the smallest allowed size for a window pane.
GetOrientation Returns the current orientation of the splitter, either
GetSashPosition Returns the position of the idx’th sash, measured from the
GetWindow Returns the idx’th window being managed by the splitter.
InsertWindow Insert a new window into the splitter at the position given in
ReplaceWindow Replaces oldWindow (which is currently being managed by the
SetBackgroundColour  
SetMinimumPaneSize Set the smallest size that any pane will be allowed to be
SetOrientation Set whether the windows managed by the splitter will be
SetSashPosition Set the psition of the idx’th sash, measured from the left/top
SizeWindows Reposition and size the windows managed by the splitter.

api Class API



class MultiSplitterWindow(PyPanel)

This class is very similar to SplitterWindow except that it allows for more than two windows and more than one sash. Many of the same styles, constants, and methods behave the same as in wx.SplitterWindow. The key differences are seen in the methods that deal with the child windows managed by the splitter, and also those that deal with the sash positions. In most cases you will need to pass an index value to tell the class which window or sash you are refering to.

The concept of the sash position is also different than in wx.SplitterWindow. Since the wx.Splitterwindow has only one sash you can think of it’s position as either relative to the whole splitter window, or as relative to the first window pane managed by the splitter. Once there is more than one sash then the distinciton between the two concepts needs to be clairified. I’ve chosen to use the second definition, and sash positions are the distance (either horizontally or vertically) from the origin of the window just before the sash in the splitter stack.

NOTE: These things are not yet supported:

  • Using negative sash positions to indicate a position offset from the end.
  • User controlled unsplitting (with double clicks on the sash or dragging a sash until the pane size is zero.)
  • Sash gravity

Methods



__init__(self, parent, id=-1, pos = DefaultPosition, size = DefaultSize, style = 0, name="multiSplitter")


AppendWindow(self, window, sashPos=-1)

Add a new window to the splitter at the right side or bottom of the window stack. If sashPos is given then it is used to size the new window.



DetachWindow(self, window)

Removes the window from the stack of windows managed by the splitter. The window will still exist so you should Hide or Destroy it as needed.



DoGetBestSize(self)

Overridden base class virtual. Determines the best size of the control based on the best sizes of the child windows.



ExchangeWindows(self, window1, window2)

Trade the positions in the splitter of the two windows.



GetMinimumPaneSize(self)

Returns the smallest allowed size for a window pane.



GetOrientation(self)

Returns the current orientation of the splitter, either wx.VERTICAL or wx.HORIZONTAL.



GetSashPosition(self, idx)

Returns the position of the idx’th sash, measured from the left/top of the window preceding the sash.



GetWindow(self, idx)

Returns the idx’th window being managed by the splitter.



InsertWindow(self, idx, window, sashPos=-1)

Insert a new window into the splitter at the position given in idx.



ReplaceWindow(self, oldWindow, newWindow)

Replaces oldWindow (which is currently being managed by the splitter) with newWindow. The oldWindow window will still exist so you should Hide or Destroy it as needed.



SetBackgroundColour(self, color)


SetMinimumPaneSize(self, minSize)

Set the smallest size that any pane will be allowed to be resized to.



SetOrientation(self, orient)

Set whether the windows managed by the splitter will be stacked vertically or horizontally. The default is horizontal.



SetSashPosition(self, idx, pos)

Set the psition of the idx’th sash, measured from the left/top of the window preceding the sash.



SizeWindows(self)

Reposition and size the windows managed by the splitter. Useful when windows have been added/removed or when styles have been changed.