Default waittime in the eventloop is now None. At low level it will then be set to GetCaretTime().

This commit is contained in:
Jack Jansen 2001-03-08 23:10:37 +00:00
parent 53ebe562f5
commit e5c9474f0f
2 changed files with 10 additions and 7 deletions

View File

@ -144,12 +144,11 @@ class Application:
# event type. # event type.
# Normally, however, you'd just define handlers for individual # Normally, however, you'd just define handlers for individual
# events. # events.
# (XXX I'm not sure if using default parameter values is the right
# way to define the mask and wait time passed to WaitNextEvent.)
schedparams = (0, 0) # By default disable Python's event handling schedparams = (0, 0) # By default disable Python's event handling
default_wait = None # By default we wait GetCaretTime in WaitNextEvent
def mainloop(self, mask = everyEvent, wait = 0): def mainloop(self, mask = everyEvent, wait = None):
self.quitting = 0 self.quitting = 0
saveparams = apply(MacOS.SchedParams, self.schedparams) saveparams = apply(MacOS.SchedParams, self.schedparams)
try: try:
@ -169,7 +168,7 @@ class Application:
while self.do1event(mask, wait=0): while self.do1event(mask, wait=0):
pass pass
def do1event(self, mask = everyEvent, wait = 0): def do1event(self, mask = everyEvent, wait = None):
ok, event = self.getevent(mask, wait) ok, event = self.getevent(mask, wait)
if IsDialogEvent(event): if IsDialogEvent(event):
if self.do_dialogevent(event): if self.do_dialogevent(event):
@ -182,10 +181,14 @@ class Application:
def idle(self, event): def idle(self, event):
pass pass
def getevent(self, mask = everyEvent, wait = 0): def getevent(self, mask = everyEvent, wait = None):
if self.needmenubarredraw: if self.needmenubarredraw:
DrawMenuBar() DrawMenuBar()
self.needmenubarredraw = 0 self.needmenubarredraw = 0
if wait is None:
wait = self.default_wait
if wait is None:
wait = GetCaretTime()
ok, event = WaitNextEvent(mask, wait) ok, event = WaitNextEvent(mask, wait)
return ok, event return ok, event

View File

@ -24,7 +24,7 @@ class Application(FrameWork.Application):
# map certain F key codes to equivalent command-letter combos (JJS) # map certain F key codes to equivalent command-letter combos (JJS)
self.fkeymaps = {122:"z", 120:"x", 99:"c", 118:"v"} self.fkeymaps = {122:"z", 120:"x", 99:"c", 118:"v"}
def mainloop(self, mask=FrameWork.everyEvent, wait=0): def mainloop(self, mask=FrameWork.everyEvent, wait=None):
import W import W
self.quitting = 0 self.quitting = 0
saveyield = MacOS.EnableAppswitch(-1) saveyield = MacOS.EnableAppswitch(-1)
@ -44,7 +44,7 @@ class Application(FrameWork.Application):
finally: finally:
MacOS.EnableAppswitch(1) MacOS.EnableAppswitch(1)
def debugger_mainloop(self, mask=FrameWork.everyEvent, wait=0): def debugger_mainloop(self, mask=FrameWork.everyEvent, wait=None):
import W import W
self.debugger_quitting = 0 self.debugger_quitting = 0
saveyield = MacOS.EnableAppswitch(-1) saveyield = MacOS.EnableAppswitch(-1)