#----------------------------------------------------------------------
-wxEVT_UPDATE_BARGRAPH = 25015
+wxEVT_UPDATE_BARGRAPH = wxNewEventType()
def EVT_UPDATE_BARGRAPH(win, func):
win.Connect(-1, -1, wxEVT_UPDATE_BARGRAPH, func)
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):
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)
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))
def OnCloseWindow(self, evt):
busy = wxBusyInfo("One moment please, waiting for threads to die...")
+ wxYield()
for t in self.threads:
t.Stop()
running = 1