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.
         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)