| 
									
										
										
										
											2001-08-25 12:15:04 +00:00
										 |  |  | from Carbon import Dlg | 
					
						
							|  |  |  | from Carbon import Res | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | splash = Dlg.GetNewDialog(468, -1) | 
					
						
							|  |  |  | splash.DrawDialog() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-08-25 12:15:04 +00:00
										 |  |  | from Carbon import Qd, TE, Fm | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-08-25 12:15:04 +00:00
										 |  |  | from Carbon import Win | 
					
						
							|  |  |  | from Carbon.Fonts import * | 
					
						
							|  |  |  | from Carbon.QuickDraw import * | 
					
						
							| 
									
										
										
										
											2001-11-02 19:30:21 +00:00
										 |  |  | from Carbon.TextEdit import teJustCenter | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | import string | 
					
						
							|  |  |  | import sys | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-11-02 19:30:21 +00:00
										 |  |  | _about_width = 440 | 
					
						
							|  |  |  | _about_height = 340 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | _keepsplashscreenopen = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-06-19 21:37:33 +00:00
										 |  |  | abouttext1 = """The Python Integrated Development Environment for the Macintosh\xaa
 | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | Version: %s | 
					
						
							| 
									
										
										
										
											2001-06-19 21:37:33 +00:00
										 |  |  | Copyright 1997-2001 Just van Rossum, Letterror. <just@letterror.com> | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | Python %s | 
					
						
							|  |  |  | %s | 
					
						
							|  |  |  | See: <http://www.python.org/> for information and documentation."""
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-06-19 21:37:33 +00:00
										 |  |  | flauwekul = [	"Goodday, Bruce.",  | 
					
						
							|  |  |  | 			"What's new?", | 
					
						
							|  |  |  | 			"Nudge, nudge, say no more!",  | 
					
						
							|  |  |  | 			"No, no sir, it's not dead. It's resting.", | 
					
						
							|  |  |  | 			"Albatros!", | 
					
						
							|  |  |  | 			"It's . . .", | 
					
						
							|  |  |  | 			"Is your name not Bruce, then?", | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | 			"""But Mr F.G. Superman has a secret identity . . . 
 | 
					
						
							|  |  |  | when trouble strikes at any time . . .  | 
					
						
							|  |  |  | at any place . . . he is ready to become . . .  | 
					
						
							|  |  |  | Bicycle Repair Man!"""
 | 
					
						
							|  |  |  | 			] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-10-20 07:35:33 +00:00
										 |  |  | def skipdoublereturns(text): | 
					
						
							|  |  |  | 	return string.replace(text, '\n\n', '\n') | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | def nl2return(text): | 
					
						
							| 
									
										
										
										
											2000-10-20 07:35:33 +00:00
										 |  |  | 	return string.replace(text, '\n', '\r') | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | def UpdateSplash(drawdialog = 0, what = 0): | 
					
						
							|  |  |  | 	if drawdialog: | 
					
						
							|  |  |  | 		splash.DrawDialog() | 
					
						
							|  |  |  | 	drawtext(what) | 
					
						
							| 
									
										
										
										
											2002-11-30 00:01:29 +00:00
										 |  |  | 	splash.GetDialogWindow().ValidWindowRect(splash.GetDialogPort().GetPortBounds()) | 
					
						
							|  |  |  | 	splash.GetDialogWindow().GetWindowPort().QDFlushPortBuffer(None) | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | def drawtext(what = 0): | 
					
						
							|  |  |  | 	Qd.SetPort(splash) | 
					
						
							|  |  |  | 	fontID = Fm.GetFNum("Python-Sans") | 
					
						
							|  |  |  | 	if not fontID: | 
					
						
							|  |  |  | 		fontID = geneva | 
					
						
							|  |  |  | 	Qd.TextFont(fontID) | 
					
						
							|  |  |  | 	Qd.TextSize(9) | 
					
						
							| 
									
										
										
										
											2001-06-19 21:37:33 +00:00
										 |  |  | 	rect = (10, 115, _about_width - 10, _about_height - 30) | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | 	if not what: | 
					
						
							|  |  |  | 		import __main__ | 
					
						
							| 
									
										
										
										
											2000-10-20 07:35:33 +00:00
										 |  |  | 		abouttxt = nl2return(abouttext1 % ( | 
					
						
							|  |  |  | 				__main__.__version__, sys.version, skipdoublereturns(sys.copyright))) | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | 	else: | 
					
						
							|  |  |  | 		import random | 
					
						
							|  |  |  | 		abouttxt = nl2return(random.choice(flauwekul)) | 
					
						
							|  |  |  | 	TE.TETextBox(abouttxt, rect, teJustCenter) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | UpdateSplash(1) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def wait(): | 
					
						
							| 
									
										
										
										
											2001-08-25 12:15:04 +00:00
										 |  |  | 	from Carbon import Evt | 
					
						
							|  |  |  | 	from Carbon import Events | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | 	global splash | 
					
						
							|  |  |  | 	try: | 
					
						
							|  |  |  | 		splash | 
					
						
							|  |  |  | 	except NameError: | 
					
						
							|  |  |  | 		return | 
					
						
							|  |  |  | 	Qd.InitCursor() | 
					
						
							|  |  |  | 	time = Evt.TickCount() | 
					
						
							|  |  |  | 	whattext = 0 | 
					
						
							| 
									
										
										
										
											2001-06-19 21:37:33 +00:00
										 |  |  | 	drawtext(whattext) | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | 	while _keepsplashscreenopen: | 
					
						
							| 
									
										
										
										
											2001-02-09 15:56:19 +00:00
										 |  |  | 		ok, event = Evt.EventAvail(Events.highLevelEventMask) | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | 		if ok: | 
					
						
							|  |  |  | 			# got apple event, back to mainloop | 
					
						
							|  |  |  | 			break | 
					
						
							| 
									
										
										
										
											2001-02-09 15:56:19 +00:00
										 |  |  | 		ok, event = Evt.EventAvail(Events.mDownMask | Events.keyDownMask | Events.updateMask) | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | 		if ok: | 
					
						
							| 
									
										
										
										
											2001-02-09 15:56:19 +00:00
										 |  |  | 			ok, event = Evt.WaitNextEvent(Events.mDownMask | Events.keyDownMask | Events.updateMask, 30) | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | 			if ok: | 
					
						
							|  |  |  | 				(what, message, when, where, modifiers) = event | 
					
						
							| 
									
										
										
										
											2001-02-09 15:56:19 +00:00
										 |  |  | 				if what == Events.updateEvt: | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | 					if Win.WhichWindow(message) == splash: | 
					
						
							|  |  |  | 						UpdateSplash(1, whattext) | 
					
						
							|  |  |  | 				else: | 
					
						
							|  |  |  | 					break | 
					
						
							|  |  |  | 		if Evt.TickCount() - time > 360: | 
					
						
							|  |  |  | 			whattext = not whattext | 
					
						
							|  |  |  | 			drawtext(whattext) | 
					
						
							|  |  |  | 			time = Evt.TickCount() | 
					
						
							|  |  |  | 	del splash | 
					
						
							| 
									
										
										
										
											2001-06-19 21:37:33 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1999-01-30 22:39:17 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | def about(): | 
					
						
							|  |  |  | 	global splash, splashresfile, _keepsplashscreenopen | 
					
						
							|  |  |  | 	_keepsplashscreenopen = 1 | 
					
						
							|  |  |  | 	splash = Dlg.GetNewDialog(468, -1) | 
					
						
							|  |  |  | 	splash.DrawDialog() | 
					
						
							|  |  |  | 	wait() |