X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a6cb8040a8f73935791c44b8f1b8ac4711cb84f6..09dfa6a0096cb350b1096d8e83fa34e62a80acf0:/wxPython/wx/lib/splitter.py diff --git a/wxPython/wx/lib/splitter.py b/wxPython/wx/lib/splitter.py index a56a8b696d..c5e2e85f55 100644 --- a/wxPython/wx/lib/splitter.py +++ b/wxPython/wx/lib/splitter.py @@ -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)