1 # 11/21/2003 - Jeff Grimmett (grimmtooth@softhome.net)
3 # o Updated for wx namespace
8 #---------------------------------------------------------------------------
10 class MySplitter(wx
.SplitterWindow
):
11 def __init__(self
, parent
, ID
, log
):
12 wx
.SplitterWindow
.__init
__(self
, parent
, ID
)
15 self
.Bind(wx
.EVT_SPLITTER_SASH_POS_CHANGED
, self
.OnSashChanged
)
16 self
.Bind(wx
.EVT_SPLITTER_SASH_POS_CHANGING
, self
.OnSashChanging
)
18 def OnSashChanged(self
, evt
):
19 self
.log
.WriteText("sash changed to %s\n" % str(evt
.GetSashPosition()))
20 # uncomment this to not allow the change
21 #evt.SetSashPosition(-1)
23 def OnSashChanging(self
, evt
):
24 self
.log
.WriteText("sash changing to %s\n" % str(evt
.GetSashPosition()))
25 # uncomment this to not allow the change
26 #evt.SetSashPosition(-1)
28 #---------------------------------------------------------------------------
30 def runTest(frame
, nb
, log
):
31 splitter
= MySplitter(nb
, -1, log
)
33 p1
= wx
.Window(splitter
, -1)
34 p1
.SetBackgroundColour(wx
.RED
)
35 wx
.StaticText(p1
, -1, "Panel One", (5,5)).SetBackgroundColour(wx
.RED
)
37 p2
= wx
.Window(splitter
, -1)
38 p2
.SetBackgroundColour(wx
.BLUE
)
39 wx
.StaticText(p2
, -1, "Panel Two", (5,5)).SetBackgroundColour(wx
.BLUE
)
41 splitter
.SetMinimumPaneSize(20)
42 splitter
.SplitVertically(p1
, p2
, 100)
47 #---------------------------------------------------------------------------
51 This class manages up to two subwindows. The current view can be split
52 into two programmatically (perhaps from a menu command), and unsplit
53 either programmatically or via the wxSplitterWindow user interface.
56 if __name__
== '__main__':
59 run
.main(['', os
.path
.basename(sys
.argv
[0])])