]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/MDIWindows.py
6 #----------------------------------------------------------------------
8 class TestPanel(wx
.Panel
):
9 def __init__(self
, parent
, log
):
11 wx
.Panel
.__init
__(self
, parent
, -1)
13 b1
= wx
.Button(self
, -1, "MDI demo")
14 self
.Bind(wx
.EVT_BUTTON
, self
.ShowMDIDemo
, b1
)
16 b2
= wx
.Button(self
, -1, "MDI with SashWindows demo")
17 self
.Bind(wx
.EVT_BUTTON
, self
.ShowMDISashDemo
, b2
)
19 box
= wx
.BoxSizer(wx
.VERTICAL
)
21 box
.Add(b1
, 0, wx
.ALIGN_CENTER|wx
.ALL
, 15)
22 box
.Add(b2
, 0, wx
.ALIGN_CENTER|wx
.ALL
, 15)
23 self
.SetAutoLayout(True)
27 # These are spawned as new processes because on Mac there can be
28 # some problems related to having regular frames and MDI frames in
30 def ShowMDIDemo(self
, evt
):
31 exe
, spawn
= self
.GetPyExecutable()
32 spawn(os
.P_NOWAIT
, exe
, exe
, "MDIDemo.py")
34 def ShowMDISashDemo(self
, evt
):
35 exe
, spawn
= self
.GetPyExecutable()
36 spawn(os
.P_NOWAIT
, exe
, exe
, "MDISashDemo.py")
39 def GetPyExecutable(self
):
40 if 'wxMac' in wx
.PlatformInfo
:
41 # sys.executable will be wrong if running the demo from
42 # an app bundle. Just find pythonw on the path instead.
43 return 'pythonw' + sys
.version
[:3], os
.spawnlp
45 return sys
.executable
, os
.spawnl
47 #----------------------------------------------------------------------
49 def runTest(frame
, nb
, log
):
50 win
= TestPanel(nb
, log
)
53 #----------------------------------------------------------------------
57 overview
= """<html><body>
58 <h2><center>Multiple Document Interface</center></h2>
60 Although Microsoft has deprecated the MDI model, wxWindows still supports
61 it. Here are a couple samples of how to use it - one straightforward, the other
62 showing how the MDI interface can be integrated into a SashWindow interface.
68 if __name__
== '__main__':
71 run
.main(['', os
.path
.basename(sys
.argv
[0])] + sys
.argv
[1:])