[Python-checkins] python/dist/src/Lib/plat-mac EasyDialogs.py,1.13,1.14 FrameWork.py,1.4,1.5 MiniAEFrame.py,1.2,1.3 argvemulator.py,1.3,1.4
jvr@users.sourceforge.net
jvr@users.sourceforge.net
Sat, 21 Jun 2003 07:41:35 -0700
Update of /cvsroot/python/python/dist/src/Lib/plat-mac
In directory sc8-pr-cvs1:/tmp/cvs-serv16652
Modified Files:
EasyDialogs.py FrameWork.py MiniAEFrame.py argvemulator.py
Log Message:
changed 8-space indentation to 4
Index: EasyDialogs.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/plat-mac/EasyDialogs.py,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** EasyDialogs.py 20 May 2003 12:07:19 -0000 1.13
--- EasyDialogs.py 21 Jun 2003 14:41:32 -0000 1.14
***************
*** 39,241 ****
__all__ = ['Message', 'AskString', 'AskPassword', 'AskYesNoCancel',
! 'GetArgv', 'AskFileForOpen', 'AskFileForSave', 'AskFolder',
! 'ProgressBar']
_initialized = 0
def _initialize():
! global _initialized
! if _initialized: return
[...1545 lines suppressed...]
! time.sleep(0.05)
! bar.set(0,100)
! for i in xrange(100):
! bar.set(i)
! time.sleep(0.05)
! if i % 10 == 0:
! bar.label(text[(i/10) % 4])
! bar.label("Done.")
! time.sleep(1.0) # give'em a chance to see "Done."
! finally:
! del bar
! if hasattr(MacOS, 'SchedParams'):
! MacOS.SchedParams(*appsw)
if __name__ == '__main__':
! try:
! test()
! except KeyboardInterrupt:
! Message("Operation Canceled.")
Index: FrameWork.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/plat-mac/FrameWork.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** FrameWork.py 6 Apr 2003 09:00:59 -0000 1.4
--- FrameWork.py 21 Jun 2003 14:41:32 -0000 1.5
***************
*** 30,39 ****
try:
! MyFrontWindow = FrontNonFloatingWindow
except NameError:
! MyFrontWindow = FrontWindow
kHighLevelEvent = 23 # Don't know what header file this should come from
! SCROLLBARWIDTH = 16 # Again, not a clue...
# Trick to forestall a set of SIOUX menus being added to our menubar
[...2101 lines suppressed...]
! def enablehelp(self, *args):
! hm = self.gethelpmenu()
! self.nohelpitem = MenuItem(hm, "There isn't any", None, self.nohelp)
! def nohelp(self, *args):
! print "I told you there isn't any!"
! def debug(self, *args):
! import pdb
! pdb.set_trace()
def test():
! "Test program"
! app = TestApp()
! app.mainloop()
if __name__ == '__main__':
! test()
Index: MiniAEFrame.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/plat-mac/MiniAEFrame.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** MiniAEFrame.py 6 Apr 2003 09:01:00 -0000 1.2
--- MiniAEFrame.py 21 Jun 2003 14:41:32 -0000 1.3
***************
*** 2,8 ****
There are two classes:
! AEServer -- a mixin class offering nice AE handling.
! MiniApplication -- a very minimal alternative to FrameWork.py,
! only suitable for the simplest of AppleEvent servers.
"""
--- 2,8 ----
There are two classes:
! AEServer -- a mixin class offering nice AE handling.
! MiniApplication -- a very minimal alternative to FrameWork.py,
! only suitable for the simplest of AppleEvent servers.
"""
***************
*** 22,199 ****
import EasyDialogs
! kHighLevelEvent = 23 # Not defined anywhere for Python yet?
class MiniApplication:
! """A minimal FrameWork.Application-like class"""
! def __init__(self):
! self.quitting = 0
! # Initialize menu
! self.appleid = 1
! self.quitid = 2
! Menu.ClearMenuBar()
! self.applemenu = applemenu = Menu.NewMenu(self.appleid, "\024")
! applemenu.AppendMenu("%s;(-" % self.getaboutmenutext())
! if MacOS.runtimemodel == 'ppc':
! applemenu.AppendResMenu('DRVR')
! applemenu.InsertMenu(0)
! self.quitmenu = Menu.NewMenu(self.quitid, "File")
! self.quitmenu.AppendMenu("Quit")
! self.quitmenu.SetItemCmd(1, ord("Q"))
! self.quitmenu.InsertMenu(0)
! Menu.DrawMenuBar()
! def __del__(self):
! self.close()
! def close(self):
! pass
! def mainloop(self, mask = everyEvent, timeout = 60*60):
! while not self.quitting:
! self.dooneevent(mask, timeout)
! def _quit(self):
! self.quitting = 1
! def dooneevent(self, mask = everyEvent, timeout = 60*60):
! got, event = Evt.WaitNextEvent(mask, timeout)
! if got:
! self.lowlevelhandler(event)
! def lowlevelhandler(self, event):
! what, message, when, where, modifiers = event
! h, v = where
! if what == kHighLevelEvent:
! msg = "High Level Event: %s %s" % \
! (`code(message)`, `code(h | (v<<16))`)
! try:
! AE.AEProcessAppleEvent(event)
! except AE.Error, err:
! print 'AE error: ', err
! print 'in', msg
! traceback.print_exc()
! return
! elif what == keyDown:
! c = chr(message & charCodeMask)
! if modifiers & cmdKey:
! if c == '.':
! raise KeyboardInterrupt, "Command-period"
! if c == 'q':
! if hasattr(MacOS, 'OutputSeen'):
! MacOS.OutputSeen()
! self.quitting = 1
! return
! elif what == mouseDown:
! partcode, window = Win.FindWindow(where)
! if partcode == inMenuBar:
! result = Menu.MenuSelect(where)
! id = (result>>16) & 0xffff # Hi word
! item = result & 0xffff # Lo word
! if id == self.appleid:
! if item == 1:
! EasyDialogs.Message(self.getabouttext())
! elif item > 1 and hasattr(Menu, 'OpenDeskAcc'):
! name = self.applemenu.GetMenuItemText(item)
! Menu.OpenDeskAcc(name)
! elif id == self.quitid and item == 1:
! if hasattr(MacOS, 'OutputSeen'):
! MacOS.OutputSeen()
! self.quitting = 1
! Menu.HiliteMenu(0)
! return
! # Anything not handled is passed to Python/SIOUX
! if hasattr(MacOS, 'HandleEvent'):
! MacOS.HandleEvent(event)
! else:
! print "Unhandled event:", event
! def getabouttext(self):
! return self.__class__.__name__
! def getaboutmenutext(self):
! return "About %s\311" % self.__class__.__name__
class AEServer:
! def __init__(self):
! self.ae_handlers = {}
! def installaehandler(self, classe, type, callback):
! AE.AEInstallEventHandler(classe, type, self.callback_wrapper)
! self.ae_handlers[(classe, type)] = callback
! def close(self):
! for classe, type in self.ae_handlers.keys():
! AE.AERemoveEventHandler(classe, type)
! def callback_wrapper(self, _request, _reply):
! _parameters, _attributes = aetools.unpackevent(_request)
! _class = _attributes['evcl'].type
! _type = _attributes['evid'].type
! if self.ae_handlers.has_key((_class, _type)):
! _function = self.ae_handlers[(_class, _type)]
! elif self.ae_handlers.has_key((_class, '****')):
! _function = self.ae_handlers[(_class, '****')]
! elif self.ae_handlers.has_key(('****', '****')):
! _function = self.ae_handlers[('****', '****')]
! else:
! raise 'Cannot happen: AE callback without handler', (_class, _type)
! # XXXX Do key-to-name mapping here
! _parameters['_attributes'] = _attributes
! _parameters['_class'] = _class
! _parameters['_type'] = _type
! if _parameters.has_key('----'):
! _object = _parameters['----']
! del _parameters['----']
! # The try/except that used to be here can mask programmer errors.
! # Let the program crash, the programmer can always add a **args
! # to the formal parameter list.
! rv = _function(_object, **_parameters)
! else:
! #Same try/except comment as above
! rv = _function(**_parameters)
! if rv == None:
! aetools.packevent(_reply, {})
! else:
! aetools.packevent(_reply, {'----':rv})
def code(x):
! "Convert a long int to the 4-character code it really is"
! s = ''
! for i in range(4):
! x, c = divmod(x, 256)
! s = chr(c) + s
! return s
class _Test(AEServer, MiniApplication):
! """Mini test application, handles required events"""
! def __init__(self):
! MiniApplication.__init__(self)
! AEServer.__init__(self)
! self.installaehandler('aevt', 'oapp', self.open_app)
! self.installaehandler('aevt', 'quit', self.quit)
! self.installaehandler('****', '****', self.other)
! self.mainloop()
! def quit(self, **args):
! self._quit()
! def open_app(self, **args):
! pass
! def other(self, _object=None, _class=None, _type=None, **args):
! print 'AppleEvent', (_class, _type), 'for', _object, 'Other args:', args
if __name__ == '__main__':
! _Test()
--- 22,199 ----
import EasyDialogs
! kHighLevelEvent = 23 # Not defined anywhere for Python yet?
class MiniApplication:
! """A minimal FrameWork.Application-like class"""
! def __init__(self):
! self.quitting = 0
! # Initialize menu
! self.appleid = 1
! self.quitid = 2
! Menu.ClearMenuBar()
! self.applemenu = applemenu = Menu.NewMenu(self.appleid, "\024")
! applemenu.AppendMenu("%s;(-" % self.getaboutmenutext())
! if MacOS.runtimemodel == 'ppc':
! applemenu.AppendResMenu('DRVR')
! applemenu.InsertMenu(0)
! self.quitmenu = Menu.NewMenu(self.quitid, "File")
! self.quitmenu.AppendMenu("Quit")
! self.quitmenu.SetItemCmd(1, ord("Q"))
! self.quitmenu.InsertMenu(0)
! Menu.DrawMenuBar()
! def __del__(self):
! self.close()
! def close(self):
! pass
! def mainloop(self, mask = everyEvent, timeout = 60*60):
! while not self.quitting:
! self.dooneevent(mask, timeout)
! def _quit(self):
! self.quitting = 1
! def dooneevent(self, mask = everyEvent, timeout = 60*60):
! got, event = Evt.WaitNextEvent(mask, timeout)
! if got:
! self.lowlevelhandler(event)
! def lowlevelhandler(self, event):
! what, message, when, where, modifiers = event
! h, v = where
! if what == kHighLevelEvent:
! msg = "High Level Event: %s %s" % \
! (`code(message)`, `code(h | (v<<16))`)
! try:
! AE.AEProcessAppleEvent(event)
! except AE.Error, err:
! print 'AE error: ', err
! print 'in', msg
! traceback.print_exc()
! return
! elif what == keyDown:
! c = chr(message & charCodeMask)
! if modifiers & cmdKey:
! if c == '.':
! raise KeyboardInterrupt, "Command-period"
! if c == 'q':
! if hasattr(MacOS, 'OutputSeen'):
! MacOS.OutputSeen()
! self.quitting = 1
! return
! elif what == mouseDown:
! partcode, window = Win.FindWindow(where)
! if partcode == inMenuBar:
! result = Menu.MenuSelect(where)
! id = (result>>16) & 0xffff # Hi word
! item = result & 0xffff # Lo word
! if id == self.appleid:
! if item == 1:
! EasyDialogs.Message(self.getabouttext())
! elif item > 1 and hasattr(Menu, 'OpenDeskAcc'):
! name = self.applemenu.GetMenuItemText(item)
! Menu.OpenDeskAcc(name)
! elif id == self.quitid and item == 1:
! if hasattr(MacOS, 'OutputSeen'):
! MacOS.OutputSeen()
! self.quitting = 1
! Menu.HiliteMenu(0)
! return
! # Anything not handled is passed to Python/SIOUX
! if hasattr(MacOS, 'HandleEvent'):
! MacOS.HandleEvent(event)
! else:
! print "Unhandled event:", event
! def getabouttext(self):
! return self.__class__.__name__
! def getaboutmenutext(self):
! return "About %s\311" % self.__class__.__name__
class AEServer:
! def __init__(self):
! self.ae_handlers = {}
! def installaehandler(self, classe, type, callback):
! AE.AEInstallEventHandler(classe, type, self.callback_wrapper)
! self.ae_handlers[(classe, type)] = callback
! def close(self):
! for classe, type in self.ae_handlers.keys():
! AE.AERemoveEventHandler(classe, type)
! def callback_wrapper(self, _request, _reply):
! _parameters, _attributes = aetools.unpackevent(_request)
! _class = _attributes['evcl'].type
! _type = _attributes['evid'].type
! if self.ae_handlers.has_key((_class, _type)):
! _function = self.ae_handlers[(_class, _type)]
! elif self.ae_handlers.has_key((_class, '****')):
! _function = self.ae_handlers[(_class, '****')]
! elif self.ae_handlers.has_key(('****', '****')):
! _function = self.ae_handlers[('****', '****')]
! else:
! raise 'Cannot happen: AE callback without handler', (_class, _type)
! # XXXX Do key-to-name mapping here
! _parameters['_attributes'] = _attributes
! _parameters['_class'] = _class
! _parameters['_type'] = _type
! if _parameters.has_key('----'):
! _object = _parameters['----']
! del _parameters['----']
! # The try/except that used to be here can mask programmer errors.
! # Let the program crash, the programmer can always add a **args
! # to the formal parameter list.
! rv = _function(_object, **_parameters)
! else:
! #Same try/except comment as above
! rv = _function(**_parameters)
! if rv == None:
! aetools.packevent(_reply, {})
! else:
! aetools.packevent(_reply, {'----':rv})
def code(x):
! "Convert a long int to the 4-character code it really is"
! s = ''
! for i in range(4):
! x, c = divmod(x, 256)
! s = chr(c) + s
! return s
class _Test(AEServer, MiniApplication):
! """Mini test application, handles required events"""
! def __init__(self):
! MiniApplication.__init__(self)
! AEServer.__init__(self)
! self.installaehandler('aevt', 'oapp', self.open_app)
! self.installaehandler('aevt', 'quit', self.quit)
! self.installaehandler('****', '****', self.other)
! self.mainloop()
! def quit(self, **args):
! self._quit()
! def open_app(self, **args):
! pass
! def other(self, _object=None, _class=None, _type=None, **args):
! print 'AppleEvent', (_class, _type), 'for', _object, 'Other args:', args
if __name__ == '__main__':
! _Test()
Index: argvemulator.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/plat-mac/argvemulator.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** argvemulator.py 6 Apr 2003 09:01:01 -0000 1.3
--- argvemulator.py 21 Jun 2003 14:41:32 -0000 1.4
***************
*** 13,114 ****
class ArgvCollector:
! """A minimal FrameWork.Application-like class"""
! def __init__(self):
! self.quitting = 0
! self.ae_handlers = {}
! # Remove the funny -psn_xxx_xxx argument
! if len(sys.argv) > 1 and sys.argv[1][:4] == '-psn':
! del sys.argv[1]
! self.installaehandler('aevt', 'oapp', self.open_app)
! self.installaehandler('aevt', 'odoc', self.open_file)
! def installaehandler(self, classe, type, callback):
! AE.AEInstallEventHandler(classe, type, self.callback_wrapper)
! self.ae_handlers[(classe, type)] = callback
! def close(self):
! for classe, type in self.ae_handlers.keys():
! AE.AERemoveEventHandler(classe, type)
! def mainloop(self, mask = highLevelEventMask, timeout = 1*60):
! stoptime = Evt.TickCount() + timeout
! while not self.quitting and Evt.TickCount() < stoptime:
! self.dooneevent(mask, timeout)
! self.close()
! def _quit(self):
! self.quitting = 1
! def dooneevent(self, mask = highLevelEventMask, timeout = 1*60):
! got, event = Evt.WaitNextEvent(mask, timeout)
! if got:
! self.lowlevelhandler(event)
! def lowlevelhandler(self, event):
! what, message, when, where, modifiers = event
! h, v = where
! if what == kHighLevelEvent:
! try:
! AE.AEProcessAppleEvent(event)
! except AE.Error, err:
! msg = "High Level Event: %s %s" % \
! (`hex(message)`, `hex(h | (v<<16))`)
! print 'AE error: ', err
! print 'in', msg
! traceback.print_exc()
! return
! else:
! print "Unhandled event:", event
! def callback_wrapper(self, _request, _reply):
! _parameters, _attributes = aetools.unpackevent(_request)
! _class = _attributes['evcl'].type
! _type = _attributes['evid'].type
! if self.ae_handlers.has_key((_class, _type)):
! _function = self.ae_handlers[(_class, _type)]
! elif self.ae_handlers.has_key((_class, '****')):
! _function = self.ae_handlers[(_class, '****')]
! elif self.ae_handlers.has_key(('****', '****')):
! _function = self.ae_handlers[('****', '****')]
! else:
! raise 'Cannot happen: AE callback without handler', (_class, _type)
! # XXXX Do key-to-name mapping here
! _parameters['_attributes'] = _attributes
! _parameters['_class'] = _class
! _parameters['_type'] = _type
! if _parameters.has_key('----'):
! _object = _parameters['----']
! del _parameters['----']
! # The try/except that used to be here can mask programmer errors.
! # Let the program crash, the programmer can always add a **args
! # to the formal parameter list.
! rv = _function(_object, **_parameters)
! else:
! #Same try/except comment as above
! rv = _function(**_parameters)
! if rv == None:
! aetools.packevent(_reply, {})
! else:
! aetools.packevent(_reply, {'----':rv})
! def open_app(self, **args):
! self._quit()
! def open_file(self, _object=None, **args):
! for alias in _object:
! fsr = alias.FSResolveAlias(None)[0]
! pathname = fsr.as_pathname()
! sys.argv.append(pathname)
! self._quit()
! def other(self, _object=None, _class=None, _type=None, **args):
! print 'Ignore AppleEvent', (_class, _type), 'for', _object, 'Other args:', args
if __name__ == '__main__':
! ArgvCollector().mainloop()
! print "sys.argv=", sys.argv
--- 13,114 ----
class ArgvCollector:
! """A minimal FrameWork.Application-like class"""
! def __init__(self):
! self.quitting = 0
! self.ae_handlers = {}
! # Remove the funny -psn_xxx_xxx argument
! if len(sys.argv) > 1 and sys.argv[1][:4] == '-psn':
! del sys.argv[1]
! self.installaehandler('aevt', 'oapp', self.open_app)
! self.installaehandler('aevt', 'odoc', self.open_file)
! def installaehandler(self, classe, type, callback):
! AE.AEInstallEventHandler(classe, type, self.callback_wrapper)
! self.ae_handlers[(classe, type)] = callback
! def close(self):
! for classe, type in self.ae_handlers.keys():
! AE.AERemoveEventHandler(classe, type)
! def mainloop(self, mask = highLevelEventMask, timeout = 1*60):
! stoptime = Evt.TickCount() + timeout
! while not self.quitting and Evt.TickCount() < stoptime:
! self.dooneevent(mask, timeout)
! self.close()
! def _quit(self):
! self.quitting = 1
! def dooneevent(self, mask = highLevelEventMask, timeout = 1*60):
! got, event = Evt.WaitNextEvent(mask, timeout)
! if got:
! self.lowlevelhandler(event)
! def lowlevelhandler(self, event):
! what, message, when, where, modifiers = event
! h, v = where
! if what == kHighLevelEvent:
! try:
! AE.AEProcessAppleEvent(event)
! except AE.Error, err:
! msg = "High Level Event: %s %s" % \
! (`hex(message)`, `hex(h | (v<<16))`)
! print 'AE error: ', err
! print 'in', msg
! traceback.print_exc()
! return
! else:
! print "Unhandled event:", event
! def callback_wrapper(self, _request, _reply):
! _parameters, _attributes = aetools.unpackevent(_request)
! _class = _attributes['evcl'].type
! _type = _attributes['evid'].type
! if self.ae_handlers.has_key((_class, _type)):
! _function = self.ae_handlers[(_class, _type)]
! elif self.ae_handlers.has_key((_class, '****')):
! _function = self.ae_handlers[(_class, '****')]
! elif self.ae_handlers.has_key(('****', '****')):
! _function = self.ae_handlers[('****', '****')]
! else:
! raise 'Cannot happen: AE callback without handler', (_class, _type)
! # XXXX Do key-to-name mapping here
! _parameters['_attributes'] = _attributes
! _parameters['_class'] = _class
! _parameters['_type'] = _type
! if _parameters.has_key('----'):
! _object = _parameters['----']
! del _parameters['----']
! # The try/except that used to be here can mask programmer errors.
! # Let the program crash, the programmer can always add a **args
! # to the formal parameter list.
! rv = _function(_object, **_parameters)
! else:
! #Same try/except comment as above
! rv = _function(**_parameters)
! if rv == None:
! aetools.packevent(_reply, {})
! else:
! aetools.packevent(_reply, {'----':rv})
! def open_app(self, **args):
! self._quit()
! def open_file(self, _object=None, **args):
! for alias in _object:
! fsr = alias.FSResolveAlias(None)[0]
! pathname = fsr.as_pathname()
! sys.argv.append(pathname)
! self._quit()
! def other(self, _object=None, _class=None, _type=None, **args):
! print 'Ignore AppleEvent', (_class, _type), 'for', _object, 'Other args:', args
if __name__ == '__main__':
! ArgvCollector().mainloop()
! print "sys.argv=", sys.argv