X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ec873c943d71f0d5f13e3398557071448cda6c23..a4027e74873007e3430af3bd77019bcab76f6c04:/wxPython/demo/SashWindow.py diff --git a/wxPython/demo/SashWindow.py b/wxPython/demo/SashWindow.py deleted file mode 100644 index 72b6357c9c..0000000000 --- a/wxPython/demo/SashWindow.py +++ /dev/null @@ -1,149 +0,0 @@ - -import wx - -#--------------------------------------------------------------------------- - -class TestSashWindow(wx.Panel): - - def __init__(self, parent, log): - wx.Panel.__init__(self, parent, -1) - - self.log = log - winids = [] - - # Create some layout windows - # A window like a toolbar - topwin = wx.SashLayoutWindow( - self, -1, wx.DefaultPosition, (200, 30), - wx.NO_BORDER|wx.SW_3D - ) - - topwin.SetDefaultSize((1000, 30)) - topwin.SetOrientation(wx.LAYOUT_HORIZONTAL) - topwin.SetAlignment(wx.LAYOUT_TOP) - topwin.SetBackgroundColour(wx.Colour(255, 0, 0)) - topwin.SetSashVisible(wx.SASH_BOTTOM, True) - - self.topWindow = topwin - winids.append(topwin.GetId()) - - # A window like a statusbar - bottomwin = wx.SashLayoutWindow( - self, -1, wx.DefaultPosition, (200, 30), - wx.NO_BORDER|wx.SW_3D - ) - - bottomwin.SetDefaultSize((1000, 30)) - bottomwin.SetOrientation(wx.LAYOUT_HORIZONTAL) - bottomwin.SetAlignment(wx.LAYOUT_BOTTOM) - bottomwin.SetBackgroundColour(wx.Colour(0, 0, 255)) - bottomwin.SetSashVisible(wx.SASH_TOP, True) - - self.bottomWindow = bottomwin - winids.append(bottomwin.GetId()) - - # A window to the left of the client window - leftwin1 = wx.SashLayoutWindow( - self, -1, wx.DefaultPosition, (200, 30), - wx.NO_BORDER|wx.SW_3D - ) - - leftwin1.SetDefaultSize((120, 1000)) - leftwin1.SetOrientation(wx.LAYOUT_VERTICAL) - leftwin1.SetAlignment(wx.LAYOUT_LEFT) - leftwin1.SetBackgroundColour(wx.Colour(0, 255, 0)) - leftwin1.SetSashVisible(wx.SASH_RIGHT, True) - leftwin1.SetExtraBorderSize(10) - textWindow = wx.TextCtrl( - leftwin1, -1, "", wx.DefaultPosition, wx.DefaultSize, - wx.TE_MULTILINE|wx.SUNKEN_BORDER - ) - - textWindow.SetValue("A sub window") - - self.leftWindow1 = leftwin1 - winids.append(leftwin1.GetId()) - - - # Another window to the left of the client window - leftwin2 = wx.SashLayoutWindow( - self, -1, wx.DefaultPosition, (200, 30), - wx.NO_BORDER|wx.SW_3D - ) - - leftwin2.SetDefaultSize((120, 1000)) - leftwin2.SetOrientation(wx.LAYOUT_VERTICAL) - leftwin2.SetAlignment(wx.LAYOUT_LEFT) - leftwin2.SetBackgroundColour(wx.Colour(0, 255, 255)) - leftwin2.SetSashVisible(wx.SASH_RIGHT, True) - - self.leftWindow2 = leftwin2 - winids.append(leftwin2.GetId()) - - # will occupy the space not used by the Layout Algorithm - self.remainingSpace = wx.Panel(self, -1, style=wx.SUNKEN_BORDER) - - self.Bind( - wx.EVT_SASH_DRAGGED_RANGE, self.OnSashDrag, - id=min(winids), id2=max(winids) - ) - - self.Bind(wx.EVT_SIZE, self.OnSize) - - - def OnSashDrag(self, event): - if event.GetDragStatus() == wx.SASH_STATUS_OUT_OF_RANGE: - self.log.write('drag is out of range') - return - - eobj = event.GetEventObject() - - if eobj is self.topWindow: - self.log.write('topwin received drag event') - self.topWindow.SetDefaultSize((1000, event.GetDragRect().height)) - - elif eobj is self.leftWindow1: - self.log.write('leftwin1 received drag event') - self.leftWindow1.SetDefaultSize((event.GetDragRect().width, 1000)) - - - elif eobj is self.leftWindow2: - self.log.write('leftwin2 received drag event') - self.leftWindow2.SetDefaultSize((event.GetDragRect().width, 1000)) - - elif eobj is self.bottomWindow: - self.log.write('bottomwin received drag event') - self.bottomWindow.SetDefaultSize((1000, event.GetDragRect().height)) - - wx.LayoutAlgorithm().LayoutWindow(self, self.remainingSpace) - self.remainingSpace.Refresh() - - def OnSize(self, event): - wx.LayoutAlgorithm().LayoutWindow(self, self.remainingSpace) - -#--------------------------------------------------------------------------- - -def runTest(frame, nb, log): - win = TestSashWindow(nb, log) - return win - -#--------------------------------------------------------------------------- - - -overview = """\ -wx.SashLayoutWindow responds to OnCalculateLayout events generated by -wxLayoutAlgorithm. It allows the application to use simple accessors to -specify how the window should be laid out, rather than having to respond -to events. The fact that the class derives from wx.SashWindow allows sashes -to be used if required, to allow the windows to be user-resizable. - -The documentation for wx.LayoutAlgorithm explains the purpose of this class -in more detail. - -""" - - -if __name__ == '__main__': - import sys,os - import run - run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])