X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b0a54b8a6bee82b1e66c92c710918e9b8146097d..34d71f81f4810c55092005c113039a8857422185:/wxPython/demo/AUI_MDI.py diff --git a/wxPython/demo/AUI_MDI.py b/wxPython/demo/AUI_MDI.py new file mode 100644 index 0000000000..ec2469c5b1 --- /dev/null +++ b/wxPython/demo/AUI_MDI.py @@ -0,0 +1,103 @@ + +import wx +import wx.aui + +#---------------------------------------------------------------------- + + +class ParentFrame(wx.aui.AuiMDIParentFrame): + def __init__(self, parent): + wx.aui.AuiMDIParentFrame.__init__(self, parent, -1, + title="AuiMDIParentFrame", + size=(640,480)) + self.count = 0 + mb = self.MakeMenuBar() + self.SetMenuBar(mb) + self.CreateStatusBar() + + def MakeMenuBar(self): + mb = wx.MenuBar() + menu = wx.Menu() + item = menu.Append(-1, "New child window\tCtrl-N") + self.Bind(wx.EVT_MENU, self.OnNewChild, item) + item = menu.Append(-1, "Close parent") + self.Bind(wx.EVT_MENU, self.OnDoClose, item) + mb.Append(menu, "&File") + return mb + + def OnNewChild(self, evt): + self.count += 1 + child = ChildFrame(self, self.count) + child.Show() + + def OnDoClose(self, evt): + self.Close() + + +#---------------------------------------------------------------------- + +class ChildFrame(wx.aui.AuiMDIChildFrame): + def __init__(self, parent, count): + wx.aui.AuiMDIChildFrame.__init__(self, parent, -1, + title="Child: %d" % count) + mb = parent.MakeMenuBar() + menu = wx.Menu() + item = menu.Append(-1, "This is child %d's menu" % count) + mb.Append(menu, "&Child") + self.SetMenuBar(mb) + + p = wx.Panel(self) + wx.StaticText(p, -1, "This is child %d" % count, (10,10)) + p.SetBackgroundColour('light blue') + + sizer = wx.BoxSizer() + sizer.Add(p, 1, wx.EXPAND) + self.SetSizer(sizer) + + wx.CallAfter(self.Layout) + +#---------------------------------------------------------------------- + +class TestPanel(wx.Panel): + def __init__(self, parent, log): + self.log = log + wx.Panel.__init__(self, parent, -1) + + b = wx.Button(self, -1, "Show a AuiMDIParentFrame", (50,50)) + self.Bind(wx.EVT_BUTTON, self.OnButton, b) + + + def OnButton(self, evt): + pf = ParentFrame(self) + pf.Show() + + + +#---------------------------------------------------------------------- + +def runTest(frame, nb, log): + win = TestPanel(nb, log) + return win + +#---------------------------------------------------------------------- + + + +overview = """ +

wx.aui.AuiMDI

+ +The wx.aui.AuiMDIParentFrame and wx.aui.AuiMDIChildFrame classes +implement the same API as wx.MDIParentFrame and wx.MDIChildFrame, but +implement the multiple document interface with a wx.aui.AuiNotebook. + + + +""" + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:]) +