]> git.saurik.com Git - wxWidgets.git/blame - wxPython/demo/MDIWindows.py
bug fix for MacTel builds, using the same code on PPC as well (wxMask)
[wxWidgets.git] / wxPython / demo / MDIWindows.py
CommitLineData
9c67cbec 1
8fa876ca 2import wx
02b800ce
RD
3import os
4import sys
9c67cbec
RD
5
6#----------------------------------------------------------------------
7
8fa876ca 8class TestPanel(wx.Panel):
9c67cbec
RD
9 def __init__(self, parent, log):
10 self.log = log
8fa876ca 11 wx.Panel.__init__(self, parent, -1)
9c67cbec 12
8fa876ca
RD
13 b1 = wx.Button(self, -1, "MDI demo")
14 self.Bind(wx.EVT_BUTTON, self.ShowMDIDemo, b1)
9c67cbec 15
8fa876ca 16 b2 = wx.Button(self, -1, "MDI with SashWindows demo")
3cfc1d66 17 self.Bind(wx.EVT_BUTTON, self.ShowMDISashDemo, b2)
9c67cbec 18
8fa876ca 19 box = wx.BoxSizer(wx.VERTICAL)
d14a1e28 20 box.Add((20, 30))
8fa876ca
RD
21 box.Add(b1, 0, wx.ALIGN_CENTER|wx.ALL, 15)
22 box.Add(b2, 0, wx.ALIGN_CENTER|wx.ALL, 15)
1e4a197e 23 self.SetAutoLayout(True)
9c67cbec
RD
24 self.SetSizer(box)
25
26
02b800ce
RD
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
29 # the same app.
9c67cbec 30 def ShowMDIDemo(self, evt):
095315e2
RD
31 exe, spawn = self.GetPyExecutable()
32 spawn(os.P_NOWAIT, exe, exe, "MDIDemo.py")
9c67cbec
RD
33
34 def ShowMDISashDemo(self, evt):
095315e2
RD
35 exe, spawn = self.GetPyExecutable()
36 spawn(os.P_NOWAIT, exe, exe, "MDISashDemo.py")
37
38
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
44 else:
45 return sys.executable, os.spawnl
46
9c67cbec
RD
47#----------------------------------------------------------------------
48
49def runTest(frame, nb, log):
50 win = TestPanel(nb, log)
51 return win
52
53#----------------------------------------------------------------------
54
55
56
57overview = """<html><body>
58<h2><center>Multiple Document Interface</center></h2>
59
60Although Microsoft has deprecated the MDI model, wxWindows still supports
8fa876ca
RD
61it. Here are a couple samples of how to use it - one straightforward, the other
62showing how the MDI interface can be integrated into a SashWindow interface.
9c67cbec
RD
63
64</body></html>
65"""
1fded56b
RD
66
67
1fded56b
RD
68if __name__ == '__main__':
69 import sys,os
70 import run
8eca4fef 71 run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])