]> git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/SplitterWindow.py
A way to make the DC classes in wxPython look like the ones in 2.5, so
[wxWidgets.git] / wxPython / demo / SplitterWindow.py
1
2 import wx
3
4 #---------------------------------------------------------------------------
5
6 class MySplitter(wx.SplitterWindow):
7 def __init__(self, parent, ID, log):
8 wx.SplitterWindow.__init__(self, parent, ID,
9 style = wx.SP_3D
10 #| wx.SP_LIVE_UPDATE
11 )
12 self.log = log
13
14 self.Bind(wx.EVT_SPLITTER_SASH_POS_CHANGED, self.OnSashChanged)
15 self.Bind(wx.EVT_SPLITTER_SASH_POS_CHANGING, self.OnSashChanging)
16
17 def OnSashChanged(self, evt):
18 self.log.WriteText("sash changed to %s\n" % str(evt.GetSashPosition()))
19
20 def OnSashChanging(self, evt):
21 self.log.WriteText("sash changing to %s\n" % str(evt.GetSashPosition()))
22 # uncomment this to not allow the change
23 #evt.SetSashPosition(-1)
24
25
26 #---------------------------------------------------------------------------
27
28 def runTest(frame, nb, log):
29 splitter = MySplitter(nb, -1, log)
30
31 p1 = wx.Window(splitter, -1)
32 p1.SetBackgroundColour(wx.RED)
33 wx.StaticText(p1, -1, "Panel One", (5,5))#.SetBackgroundColour(wx.RED)
34
35 p2 = wx.Window(splitter, -1)
36 p2.SetBackgroundColour(wx.BLUE)
37 p2.SetForegroundColour(wx.WHITE)
38 wx.StaticText(p2, -1, "Panel Two", (5,5))#.SetBackgroundColour(wx.BLUE)
39
40 splitter.SetMinimumPaneSize(20)
41 splitter.SplitVertically(p1, p2, -100)
42
43 return splitter
44
45
46 #---------------------------------------------------------------------------
47
48
49 overview = """\
50 This class manages up to two subwindows. The current view can be split
51 into two programmatically (perhaps from a menu command), and unsplit
52 either programmatically or via the wx.SplitterWindow user interface.
53 """
54
55 if __name__ == '__main__':
56 import sys,os
57 import run
58 run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
59