X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/095315e20d117d292ea01f8f964b19c032a0fd56..68fc5c8025e38b9d827383fbfe7ce509ae331c1f:/wxPython/wx/lib/splitter.py?ds=sidebyside diff --git a/wxPython/wx/lib/splitter.py b/wxPython/wx/lib/splitter.py index 56c3dafe60..c5e2e85f55 100644 --- a/wxPython/wx/lib/splitter.py +++ b/wxPython/wx/lib/splitter.py @@ -1,7 +1,7 @@ #---------------------------------------------------------------------- # Name: wx.lib.splitter # Purpose: A class similar to wx.SplitterWindow but that allows more -# a single split +# than a single split # # Author: Robin Dunn # @@ -17,7 +17,6 @@ more than once. """ import wx -import sys _RENDER_VER = (2,6,1,1) @@ -134,7 +133,7 @@ class MultiSplitterWindow(wx.PyPanel): of the window stack. If sashPos is given then it is used to size the new window. """ - self.InsertWindow(sys.maxint, window, sashPos) + self.InsertWindow(len(self._windows), window, sashPos) def InsertWindow(self, idx, window, sashPos=-1): @@ -210,6 +209,16 @@ class MultiSplitterWindow(wx.PyPanel): return self._sashes[idx] + def SetSashPosition(self, idx, pos): + """ + Set the psition of the idx'th sash, measured from the left/top + of the window preceding the sash. + """ + assert idx < len(self._sashes) + self._sashes[idx] = pos + self._SizeWindows() + + def SizeWindows(self): """ Reposition and size the windows managed by the splitter. @@ -231,14 +240,14 @@ class MultiSplitterWindow(wx.PyPanel): sashsize = self._GetSashSize() if self._orient == wx.HORIZONTAL: for win in self._windows: - winbest = win.GetAdjustedBestSize() + winbest = win.GetEffectiveMinSize() best.width += max(self._minimumPaneSize, winbest.width) best.height = max(best.height, winbest.height) best.width += sashsize * (len(self._windows)-1) else: for win in self._windows: - winbest = win.GetAdjustedBestSize() + winbest = win.GetEffectiveMinSize() best.height += max(self._minimumPaneSize, winbest.height) best.width = max(best.width, winbest.width) best.height += sashsize * (len(self._windows)-1)