Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c8a9949

Browse files
committed
Various fixes/enhancements, thanks to Ivan and Just:
- Added window.SetPort() method - Added optional bounds and resid parameters to Window.open() - Fixed apple-menu DA handling - Fixed activate-event handling - Added default Application.makeusermenus() (File:Quit only)
1 parent 1d8ede7 commit c8a9949

1 file changed

Lines changed: 24 additions & 5 deletions

File tree

Mac/Lib/FrameWork.py

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

458470
class 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

Comments
 (0)