X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9c67cbec021bf8d96c428b9f376b08a851c0864b..a2a03d7864c96401b99b3fde43ae7cb5ace83814:/wxPython/demo/MDIDemo.py diff --git a/wxPython/demo/MDIDemo.py b/wxPython/demo/MDIDemo.py index 5670f9377c..43a1d170df 100644 --- a/wxPython/demo/MDIDemo.py +++ b/wxPython/demo/MDIDemo.py @@ -1,53 +1,90 @@ -#!/usr/bin/env python -from wxPython.wx import * -from wxScrolledWindow import MyCanvas +import wx +# Importing ScrolledWindow demo to make use of the MyCanvas +# class defined within. +import ScrolledWindow +import images + +SHOW_BACKGROUND = 1 + +#---------------------------------------------------------------------- +ID_New = wx.NewId() +ID_Exit = wx.NewId() #---------------------------------------------------------------------- -class MyParentFrame(wxMDIParentFrame): +class MyParentFrame(wx.MDIParentFrame): def __init__(self): - wxMDIParentFrame.__init__(self, None, -1, "MDI Parent", size=(600,400)) + wx.MDIParentFrame.__init__(self, None, -1, "MDI Parent", size=(600,400)) self.winCount = 0 - menu = wxMenu() - menu.Append(5000, "&New Window") + menu = wx.Menu() + menu.Append(ID_New, "&New Window") menu.AppendSeparator() - menu.Append(5001, "E&xit") + menu.Append(ID_Exit, "E&xit") - menubar = wxMenuBar() + menubar = wx.MenuBar() menubar.Append(menu, "&File") self.SetMenuBar(menubar) self.CreateStatusBar() - EVT_MENU(self, 5000, self.OnNewWindow) - EVT_MENU(self, 5001, self.OnExit) + self.Bind(wx.EVT_MENU, self.OnNewWindow, id=ID_New) + self.Bind(wx.EVT_MENU, self.OnExit, id=ID_Exit) + + if SHOW_BACKGROUND: + self.bg_bmp = images.getGridBGBitmap() + self.GetClientWindow().Bind( + wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground + ) def OnExit(self, evt): - self.Close(true) + self.Close(True) def OnNewWindow(self, evt): self.winCount = self.winCount + 1 - win = wxMDIChildFrame(self, -1, "Child Window: %d" % self.winCount) - canvas = MyCanvas(win) - win.Show(true) + win = wx.MDIChildFrame(self, -1, "Child Window: %d" % self.winCount) + canvas = ScrolledWindow.MyCanvas(win) + win.Show(True) + + + def OnEraseBackground(self, evt): + dc = evt.GetDC() + + if not dc: + dc = wx.ClientDC(self.GetClientWindow()) + + # tile the background bitmap + sz = self.GetClientSize() + w = self.bg_bmp.GetWidth() + h = self.bg_bmp.GetHeight() + x = 0 + + while x < sz.width: + y = 0 + + while y < sz.height: + dc.DrawBitmap(self.bg_bmp, x, y) + y = y + h + + x = x + w #---------------------------------------------------------------------- if __name__ == '__main__': - class MyApp(wxApp): + class MyApp(wx.App): def OnInit(self): + wx.InitAllImageHandlers() frame = MyParentFrame() - frame.Show(true) + frame.Show(True) self.SetTopWindow(frame) - return true + return True - app = MyApp(0) + app = MyApp(False) app.MainLoop()