]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/Threads.py
use specific linker flags under Mac OS X when linking executables against the
[wxWidgets.git] / wxPython / demo / Threads.py
index b1dce085a67c2af993fff54a91ec293fde83f4c6..0476647c38764f93717c1a6428010320769c2d44 100644 (file)
@@ -7,7 +7,7 @@ from   whrandom import random
 
 #----------------------------------------------------------------------
 
-wxEVT_UPDATE_BARGRAPH = 25015
+wxEVT_UPDATE_BARGRAPH = wxNewEventType()
 
 def EVT_UPDATE_BARGRAPH(win, func):
     win.Connect(-1, -1, wxEVT_UPDATE_BARGRAPH, func)
@@ -43,11 +43,10 @@ class CalcBarThread:
         while self.keepGoing:
             evt = UpdateBarEvent(self.barNum, int(self.val))
             wxPostEvent(self.win, evt)
-            del evt
+            #del evt
 
             sleeptime = (random() * 2) + 0.5
-            #print self.barNum, 'sleeping for', sleeptime
-            time.sleep(sleeptime)
+            time.sleep(sleeptime/4)
 
             sleeptime = sleeptime * 5
             if int(random() * 2):
@@ -160,12 +159,13 @@ class TestFrame(wxFrame):
         panel.SetFont(wxFont(10, wxSWISS, wxNORMAL, wxBOLD))
         wxStaticText(panel, -1,
                      "This demo shows multiple threads interacting with this\n"
-                     "window by sending events to it.", wxPoint(5,5))
+                     "window by sending events to it, one thread for each bar.",
+                     wxPoint(5,5))
         panel.Fit()
 
         self.graph = GraphWindow(self, ['Zero', 'One', 'Two', 'Three', 'Four',
                                         'Five', 'Six', 'Seven'])
-        self.graph.SetSize((-1, self.graph.GetBestHeight()))
+        self.graph.SetSize((450, self.graph.GetBestHeight()))
 
         sizer = wxBoxSizer(wxVERTICAL)
         sizer.Add(panel, 0, wxEXPAND)
@@ -175,11 +175,6 @@ class TestFrame(wxFrame):
         self.SetAutoLayout(true)
         sizer.Fit(self)
 
-        #self.graph.SetValue(0, 25)
-        #self.graph.SetValue(1, 50)
-        #self.graph.SetValue(2, 75)
-        #self.graph.SetValue(3, 100)
-
         EVT_UPDATE_BARGRAPH(self, self.OnUpdate)
         self.threads = []
         self.threads.append(CalcBarThread(self, 0, 50))
@@ -204,6 +199,7 @@ class TestFrame(wxFrame):
 
     def OnCloseWindow(self, evt):
         busy = wxBusyInfo("One moment please, waiting for threads to die...")
+        wxYield()
         for t in self.threads:
             t.Stop()
         running = 1