X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d7403ad2d154a8e2974fdc5fc215258f3a75cdde..b4eecebd423df0c6efe86d7658cd3df818d67ed8:/wxPython/demo/Threads.py diff --git a/wxPython/demo/Threads.py b/wxPython/demo/Threads.py index b4ef61f9fc..ceb2fdc78b 100644 --- a/wxPython/demo/Threads.py +++ b/wxPython/demo/Threads.py @@ -116,21 +116,8 @@ class GraphWindow(wx.Window): def OnPaint(self, evt): - width, height = size =self.GetSize() - bmp = wx.EmptyBitmap(width, height) - - dc = wx.MemoryDC() - dc.SelectObject(bmp) - - - self.Draw(dc, size) - - wdc = wx.PaintDC(self) - wdc.BeginDrawing() - wdc.Blit(0,0, size[0], size[1], dc, 0,0) - wdc.EndDrawing() - - dc.SelectObject(wx.NullBitmap) + dc = wx.BufferedPaintDC(self) + self.Draw(dc, self.GetSize()) def OnEraseBackground(self, evt): @@ -212,19 +199,35 @@ class TestFrame(wx.Frame): -#---------------------------------------------------------------------- +#--------------------------------------------------------------------------- + +class TestPanel(wx.Panel): + def __init__(self, parent, log): + self.log = log + wx.Panel.__init__(self, parent, -1) + + b = wx.Button(self, -1, "Show Threads sample", (50,50)) + self.Bind(wx.EVT_BUTTON, self.OnButton, b) + + + def OnButton(self, evt): + win = TestFrame(self, self.log) + win.Show(True) + + +#--------------------------------------------------------------------------- + def runTest(frame, nb, log): - win = TestFrame(frame, log) - frame.otherWin = win - win.Show(True) - return None + win = TestPanel(nb, log) + return win #---------------------------------------------------------------------- + overview = """\ The main issue with multi-threaded GUI programming is the thread safty of the GUI itself. On most platforms the GUI is not thread safe and