@@ -84,6 +84,13 @@ def makemenubar(self):
8484 self .menubar = MenuBar ()
8585 AppleMenu (self .menubar , self .getabouttext (), self .do_about )
8686 self .makeusermenus ()
87+
88+ def makeusermenus (self ):
89+ self .filemenu = m = Menu (self .menubar , "File" )
90+ self ._quititem = MenuItem (m , "Quit" , "Q" , self ._quit )
91+
92+ def _quit (self , * args ):
93+ raise self
8794
8895 def appendwindow (self , wid , window ):
8996 self ._windows [wid ] = window
@@ -278,7 +285,11 @@ def do_updateEvt(self, event):
278285
279286 def do_activateEvt (self , event ):
280287 (what , message , when , where , modifiers ) = event
281- wid = WhichWindow (message )
288+ # XXXX Incorrect, should be fixed in suspendresume
289+ if type (message ) == type (1 ):
290+ wid = WhichWindow (message )
291+ else :
292+ wid = message
282293 if wid and self ._windows .has_key (wid ):
283294 window = self ._windows [wid ]
284295 window .do_activate (modifiers & 1 , event )
@@ -300,8 +311,9 @@ def do_suspendresume(self, event):
300311 (what , message , when , where , modifiers ) = event
301312 w = FrontWindow ()
302313 if w :
314+ # XXXX Incorrect, should stuff windowptr into message field
303315 nev = (activateEvt , w , when , where , message & 1 )
304- self .do_activateEvt (self , nev )
316+ self .do_activateEvt (nev )
305317
306318 def do_kHighLevelEvent (self , event ):
307319 (what , message , when , where , modifiers ) = event
@@ -452,7 +464,7 @@ def dispatch(self, id, item, window, event):
452464 if item == 1 :
453465 Menu .dispatch (self , id , item , window , event )
454466 else :
455- name = self .menu .GetItem (item )
467+ name = self .menu .GetMenuItemText (item )
456468 OpenDeskAcc (name )
457469
458470class Window :
@@ -462,8 +474,11 @@ def __init__(self, parent):
462474 self .wid = None
463475 self .parent = parent
464476
465- def open (self ):
466- self .wid = NewWindow ((40 , 40 , 400 , 400 ), self .__class__ .__name__ , 1 ,
477+ def open (self , bounds = (40 , 40 , 400 , 400 ), resid = None ):
478+ if resid <> None :
479+ self .wid = GetNewWindow (resid , - 1 )
480+ else :
481+ self .wid = NewWindow (bounds , self .__class__ .__name__ , 1 ,
467482 0 , - 1 , 1 , 0 )
468483 self .do_postopen ()
469484
@@ -478,6 +493,10 @@ def do_postclose(self):
478493 self .parent .removewindow (self .wid )
479494 self .parent = None
480495 self .wid = None
496+
497+ def SetPort (self ):
498+ # Convinience method
499+ SetPort (self .wid )
481500
482501 def do_inDrag (self , partcode , window , event ):
483502 where = event [3 ]
0 commit comments