mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	Initial checkin of IDE scripts. (jvr)
This commit is contained in:
		
							parent
							
								
									b7ad821f02
								
							
						
					
					
						commit
						a840fca155
					
				
					 19 changed files with 334 additions and 0 deletions
				
			
		
							
								
								
									
										1
									
								
								Mac/IDE scripts/  separator ---
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								Mac/IDE scripts/  separator ---
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | |||
| A separator ends with '---' | ||||
							
								
								
									
										4
									
								
								Mac/IDE scripts/Hack/Debugger off
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								Mac/IDE scripts/Hack/Debugger off
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | |||
| """Turn the debugger off.""" | ||||
| 
 | ||||
| import PyDebugger | ||||
| PyDebugger.cont() | ||||
							
								
								
									
										5
									
								
								Mac/IDE scripts/Hack/Debugger on
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								Mac/IDE scripts/Hack/Debugger on
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | |||
| """This script turns the Python debugger on globally, meaning that | ||||
| it will then stop at any breakpoint you might have defined.""" | ||||
| 
 | ||||
| import PyDebugger | ||||
| PyDebugger.startfrombottom() | ||||
							
								
								
									
										22
									
								
								Mac/IDE scripts/Hack/Remove .pyc files...
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								Mac/IDE scripts/Hack/Remove .pyc files...
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,22 @@ | |||
| import sys | ||||
| import os | ||||
| import macfs | ||||
| 
 | ||||
| def walk(top): | ||||
| 	names = os.listdir(top) | ||||
| 	for name in names: | ||||
| 		path = os.path.join(top, name) | ||||
| 		if os.path.isdir(path): | ||||
| 			walk(path) | ||||
| 		else: | ||||
| 			if path[-4:] in ['.pyc', '.pyo'] and os.path.exists(path[:-1]): | ||||
| 				print "deleting:", path | ||||
| 				os.remove(path) | ||||
| 			elif path[-4:] == '.pyc': | ||||
| 				print "!!! ------ .pyc file without .py file:", path | ||||
| 			elif path[-4:] == '.pyo': | ||||
| 				print "!!! ------ .pyo file without .py file:", path | ||||
| 
 | ||||
| fss, ok = macfs.GetDirectory('Select the starting folder:') | ||||
| if ok: | ||||
| 	walk(fss.as_pathname()) | ||||
							
								
								
									
										45
									
								
								Mac/IDE scripts/Hack/Toolbox Assistant...
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								Mac/IDE scripts/Hack/Toolbox Assistant...
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,45 @@ | |||
| import aetools | ||||
| import Standard_Suite | ||||
| import Required_Suite | ||||
| import MacOS | ||||
| import W | ||||
| 
 | ||||
| 
 | ||||
| class Toolbox(aetools.TalkTo, Standard_Suite.Standard_Suite): | ||||
| 	 | ||||
| 	def LookupTopic(self, _object, _attributes={}, **_arguments): | ||||
| 		_code = 'DanR' | ||||
| 		_subcode = 'REF ' | ||||
| 
 | ||||
| 		_arguments['----'] = _object | ||||
| 		 | ||||
| 		_reply, _arguments, _attributes = self.send(_code, _subcode, | ||||
| 				_arguments, _attributes) | ||||
| 		if _arguments.has_key('errn'): | ||||
| 			raise MacOS.Error, aetools.decodeerror(_arguments) | ||||
| 	 | ||||
| 
 | ||||
| class ToolboxAssi: | ||||
| 	 | ||||
| 	def __init__(self): | ||||
| 		self.talker = None | ||||
| 		self.w = W.Window((200, 100), "Toolbox Assistant") | ||||
| 		self.w.button = W.Button((-94, -32, 80, 16), "Lookup", self.lookup) | ||||
| 		self.w.prompt = W.TextBox((10, 8, -10, 15), "Enter topic:") | ||||
| 		self.w.edit = W.EditText((10, 24, -10, 20)) | ||||
| 		self.w.setdefaultbutton(self.w.button) | ||||
| 		self.w.open() | ||||
| 	 | ||||
| 	def lookup(self): | ||||
| 		if self.talker is None: | ||||
| 			try: | ||||
| 				self.talker = Toolbox('ALTV', start = 1) | ||||
| 			except: | ||||
| 				raise W.AlertError, "Can¹t find ³Toolbox Assistant²" | ||||
| 		lookup = self.w.edit.get() | ||||
| 		try: | ||||
| 			self.talker.LookupTopic(lookup) | ||||
| 		except MacOS.Error, detail: | ||||
| 			W.Message("Requested topic not found.\r(%d)" % detail[0]) | ||||
| 
 | ||||
| t = ToolboxAssi() | ||||
							
								
								
									
										4
									
								
								Mac/IDE scripts/Hold option to open a script...
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								Mac/IDE scripts/Hold option to open a script...
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | |||
| "Hold the option key to open a script instead of running it." | ||||
| 
 | ||||
| import W | ||||
| W.Message(__doc__) | ||||
							
								
								
									
										6
									
								
								Mac/IDE scripts/Insert file name...
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								Mac/IDE scripts/Insert file name...
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | |||
| import macfs | ||||
| 
 | ||||
| fss, ok = macfs.StandardGetFile() | ||||
| if ok: | ||||
| 	import W | ||||
| 	W.FrontWindowInsert('"%s"' % fss.as_pathname()) | ||||
							
								
								
									
										6
									
								
								Mac/IDE scripts/Insert folder name...
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								Mac/IDE scripts/Insert folder name...
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | |||
| import macfs | ||||
| 
 | ||||
| fss, ok = macfs.GetDirectory() | ||||
| if ok: | ||||
| 	import W | ||||
| 	W.FrontWindowInsert('"%s"' % fss.as_pathname()) | ||||
							
								
								
									
										4
									
								
								Mac/IDE scripts/Search Python Documentation...
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								Mac/IDE scripts/Search Python Documentation...
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | |||
| import PyDocSearch | ||||
| # set the creator of the browser. 'MSIE' = Exploser, 'MOSS' = Netscape | ||||
| PyDocSearch.SIGNATURE = 'MOSS' | ||||
| pds = PyDocSearch.PyDocSearch() | ||||
							
								
								
									
										21
									
								
								Mac/IDE scripts/Widget demos/ActivateWindowDemo.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								Mac/IDE scripts/Widget demos/ActivateWindowDemo.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,21 @@ | |||
| import W | ||||
| 
 | ||||
| # this demoscript illustrates how to tie a callback to activating or clicking away of the window. | ||||
| # evb 22 4 99 | ||||
| 
 | ||||
| class ActivateDemo: | ||||
| 	 | ||||
| 	def __init__(self): | ||||
| 		self.w = W.Window((200, 200), 'Activate demo') | ||||
| 		self.w.bind("<activate>", self.my_activate_callback) | ||||
| 		self.w.open() | ||||
| 	 | ||||
| 	def my_activate_callback(self, onoff): | ||||
| 		'''the callback gets 1 parameter which indicates whether the window | ||||
| 		has been activated (1) or clicked to the back (0)''' | ||||
| 		if onoff == 1: | ||||
| 			print "I'm in the front now!" | ||||
| 		else: | ||||
| 			print "I've been clicked away, Oh No!" | ||||
| 
 | ||||
| ad = ActivateDemo() | ||||
							
								
								
									
										34
									
								
								Mac/IDE scripts/Widget demos/KeyTester.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								Mac/IDE scripts/Widget demos/KeyTester.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,34 @@ | |||
| """Simple W demo -- shows how to make a window, and bind a function to a "key" event.""" | ||||
| 
 | ||||
| import W | ||||
| 
 | ||||
| # key callback function | ||||
| def tester(char, event): | ||||
| 	text = `char` + "\r" + `ord(char)` + "\r" + hex(ord(char)) + "\r" + oct(ord(char)) | ||||
| 	window.keys.set(text) | ||||
| 
 | ||||
| # close callback | ||||
| def close(): | ||||
| 	window.close() | ||||
| 
 | ||||
| # new window | ||||
| window = W.Dialog((180, 100), "Type a character") | ||||
| 
 | ||||
| # make a frame (a simple rectangle) | ||||
| window.frame = W.Frame((5, 5, -5, -33)) | ||||
| 
 | ||||
| # some labels, static text | ||||
| window.captions = W.TextBox((10, 9, 43, -36), "char:\rdecimal:\rhex:\roctal:") | ||||
| 
 | ||||
| # another static text box | ||||
| window.keys = W.TextBox((60, 9, 40, -36)) | ||||
| 
 | ||||
| # a button | ||||
| window.button = W.Button((-69, -24, 60, 16), "Done", close) | ||||
| 
 | ||||
| # bind the callbacks | ||||
| window.bind("<key>", tester) | ||||
| window.bind("cmdw", window.button.push) | ||||
| 
 | ||||
| # open the window | ||||
| window.open() | ||||
							
								
								
									
										17
									
								
								Mac/IDE scripts/Widget demos/ListWindow.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								Mac/IDE scripts/Widget demos/ListWindow.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | |||
| import W | ||||
| 
 | ||||
| def listhit(isdbl): | ||||
| 	if isdbl: | ||||
| 		print "double-click in list!" | ||||
| 	else: | ||||
| 		print "click in list." | ||||
| 
 | ||||
| window = W.Window((200, 400), "Window with List", minsize = (150, 200)) | ||||
| 
 | ||||
| window.list = W.List((-1, 20, 1, -14), [], listhit) | ||||
| 
 | ||||
| # or (equivalent): | ||||
| # window.list = W.List((-1, 20, 1, -14), callback = listhit) | ||||
| 
 | ||||
| window.list.set(range(13213, 13350)) | ||||
| window.open() | ||||
							
								
								
									
										10
									
								
								Mac/IDE scripts/Widget demos/ModalDialog.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								Mac/IDE scripts/Widget demos/ModalDialog.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | |||
| import W | ||||
| import Windows | ||||
| 
 | ||||
| 
 | ||||
| w = W.ModalDialog((100, 100)) | ||||
| 
 | ||||
| w.ed = W.EditText((10, 10, 80, 50)) | ||||
| w.ok = W.Button((10, 70, 80, 16), "Ok", w.close) | ||||
| w.setdefaultbutton(w.ok) | ||||
| w.open() | ||||
							
								
								
									
										14
									
								
								Mac/IDE scripts/Widget demos/PaneDemo.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								Mac/IDE scripts/Widget demos/PaneDemo.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | |||
| import W | ||||
| 
 | ||||
| w = W.Window((600, 400), "Ha!", minsize = (240, 200)) | ||||
| 
 | ||||
| w.panes = W.HorizontalPanes((8, 8, -30, -8), (0.3, 0.3, 0.4)) | ||||
| w.panes.blah1 = W.EditText(None, "eehhh...") | ||||
| w.panes.blah2 = W.EditText((8, 8, -8, -8), "xxx nou...") | ||||
| w.panes.panes = W.VerticalPanes(None, (0.3, 0.4, 0.3)) | ||||
| w.panes.panes.blah1 = W.EditText(None, "eehhh...") | ||||
| w.panes.panes.blah2 = W.Frame(None) | ||||
| w.panes.panes.blah2.t = W.EditText((0, 0, 0, 0), "nou...") | ||||
| w.panes.panes.blah3 = W.List(None, ["eehhh...", 'abc', 'def']) | ||||
| 
 | ||||
| w.open() | ||||
							
								
								
									
										16
									
								
								Mac/IDE scripts/Widget demos/PaneDemo2.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								Mac/IDE scripts/Widget demos/PaneDemo2.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | |||
| import W | ||||
| 
 | ||||
| w = W.Window((600, 400), "Ha!", minsize = (240, 200)) | ||||
| 
 | ||||
| w.panes = W.HorizontalPanes((8, 8, -8, -20), (0.6, 0.4)) | ||||
| 
 | ||||
| w.panes.panes = W.VerticalPanes(None, (0.3, 0.4, 0.3)) | ||||
| w.panes.panes.blah1 = W.EditText(None, "eehhh...") | ||||
| w.panes.panes.blah2 = W.EditText(None, "nou...") | ||||
| w.panes.panes.blah3 = W.List(None, ["eehhh...", 'abc', 'def']) | ||||
| 
 | ||||
| w.panes.group = W.Group(None) | ||||
| w.panes.group.mytext = W.EditText((0, 24, 0, 0), "eehhh...") | ||||
| w.panes.group.button1 = W.Button((0, 0, 80, 16), "A Button") | ||||
| 
 | ||||
| w.open() | ||||
							
								
								
									
										17
									
								
								Mac/IDE scripts/Widget demos/ScrollbarWindow.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								Mac/IDE scripts/Widget demos/ScrollbarWindow.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | |||
| import W | ||||
| 
 | ||||
| # make a non-sizable window | ||||
| #window = W.Window((200, 200), "Fixed Size") | ||||
| 
 | ||||
| #  make a sizable window | ||||
| window = W.Window((200, 300), "Variable Size!", minsize = (200, 200)) | ||||
| 
 | ||||
| # make some edit text widgets | ||||
| # a scrollbar | ||||
| window.hbar = W.Scrollbar((-1, -15, -14, 16), max = 100) | ||||
| window.vbar = W.Scrollbar((-15, -1, 16, -14), max = 100) | ||||
| #window.vbar = W.Scrollbar((-15, -1, 1, -14), max = 100) | ||||
| 
 | ||||
| 
 | ||||
| # open the window | ||||
| window.open() | ||||
							
								
								
									
										22
									
								
								Mac/IDE scripts/Widget demos/TwoLists.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								Mac/IDE scripts/Widget demos/TwoLists.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,22 @@ | |||
| import W | ||||
| 
 | ||||
| def twothird(width, height): | ||||
| 	return (8, 8, width - 8, 2*height/3 - 4) | ||||
| 
 | ||||
| def onethird(width, height): | ||||
| 	return (8, 2*height/3 + 4, width - 8, height - 22) | ||||
| 
 | ||||
| def halfbounds1(width, height): | ||||
| 	return (0, 0, width/2 - 4, height) | ||||
| 
 | ||||
| def halfbounds2(width, height): | ||||
| 	return (width/2 + 4, 0, width, height) | ||||
| 
 | ||||
| window = W.Window((400, 400), "Sizable window with two lists", minsize = (200, 200)) | ||||
| 
 | ||||
| window.listgroup = W.Group(twothird) | ||||
| window.listgroup.list1 = W.List(halfbounds1, range(13213, 13310)) | ||||
| window.listgroup.list2 = W.List(halfbounds2, range(800, 830)) | ||||
| window.et = W.EditText(onethird, "Wat nu weer?") | ||||
| 
 | ||||
| window.open() | ||||
							
								
								
									
										85
									
								
								Mac/IDE scripts/Widget demos/WidgetTest.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								Mac/IDE scripts/Widget demos/WidgetTest.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,85 @@ | |||
| import W | ||||
| 
 | ||||
| # define some callbacks | ||||
| def callback(): | ||||
| 	window.close() | ||||
| 
 | ||||
| def checkcallback(value): | ||||
| 	print "hit the checkbox", value | ||||
| 
 | ||||
| def radiocallback(value): | ||||
| 	print "hit radiobutton #3", value | ||||
| 
 | ||||
| def scrollcallback(value): | ||||
| 	widget = window.hbar | ||||
| 	if value == "+": | ||||
| 		widget.set(widget.get() - 1) | ||||
| 	elif value == "-": | ||||
| 		widget.set(widget.get() + 1) | ||||
| 	elif value == "++": | ||||
| 		widget.set(widget.get() - 10) | ||||
| 	elif value == "--": | ||||
| 		widget.set(widget.get() + 10) | ||||
| 	else:   # in thumb | ||||
| 		widget.set(value) | ||||
| 	print "scroll...", widget.get() | ||||
| 
 | ||||
| def textcallback(): | ||||
| 	window.et3.set(window.et1.get()) | ||||
| 
 | ||||
| def cancel(): | ||||
| 	import EasyDialogs | ||||
| 	EasyDialogs.Message("Cancel!") | ||||
| 
 | ||||
| # make a non-sizable window | ||||
| #window = W.Window((200, 300), "Fixed Size") | ||||
| 
 | ||||
| #  make a sizable window | ||||
| window = W.Window((200, 300), "Variable Size!", minsize = (200, 300)) | ||||
| 
 | ||||
| # make some edit text widgets | ||||
| window.et1 = W.EditText((10, 10, 110, 110), "Hallo!", textcallback) | ||||
| window.et2 = W.EditText((130, 40, 60, 30), "one!") | ||||
| window.et3 = W.EditText((130, 80, -10, 40), "two?") | ||||
| 
 | ||||
| # a button | ||||
| window.button = W.Button((-70, 10, 60, 16), "Close", callback) | ||||
| 
 | ||||
| # a checkbox | ||||
| window.ch = W.CheckBox((10, 130, 160, 16), "Check (command §)", checkcallback) | ||||
| 
 | ||||
| # set of radio buttons (should become easier/nicer) | ||||
| thebuttons = [] | ||||
| window.r1 = W.RadioButton((10, 150, 180, 16), "Radio 1 (cmd 1)", thebuttons) | ||||
| window.r2 = W.RadioButton((10, 170, 180, 16), "Radio 2 (cmd 2)", thebuttons) | ||||
| window.r3 = W.RadioButton((10, 190, 180, 16), "Radio 3 (cmd 3)", thebuttons, radiocallback) | ||||
| window.r1.set(1) | ||||
| 
 | ||||
| # a normal button | ||||
| window.cancelbutton = W.Button((10, 220, 60, 16), "Cancel", cancel) | ||||
| 
 | ||||
| # a scrollbar | ||||
| window.hbar = W.Scrollbar((-1, -15, -14, 16), scrollcallback, max = 100) | ||||
| 
 | ||||
| # some static text | ||||
| window.static = W.TextBox((10, 260, 110, 16), "Schtatic") | ||||
| 
 | ||||
| # bind some keystrokes to functions | ||||
| window.bind('cmd§', window.ch.push) | ||||
| window.bind('cmd1', window.r1.push) | ||||
| window.bind('cmd2', window.r2.push) | ||||
| window.bind('cmd3', window.r3.push) | ||||
| window.bind('cmdw', window.button.push) | ||||
| window.bind('cmd.', window.cancelbutton.push) | ||||
| 
 | ||||
| window.setdefaultbutton(window.button) | ||||
| # open the window | ||||
| window.open() | ||||
| 
 | ||||
| if 0: | ||||
| 	import time | ||||
| 	for i in range(20): | ||||
| 		window.et2.set(`i`) | ||||
| 		#window.et2.SetPort() | ||||
| 		#window.et2.draw() | ||||
| 		time.sleep(0.1) | ||||
							
								
								
									
										1
									
								
								Mac/IDE scripts/separator ---
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								Mac/IDE scripts/separator ---
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | |||
| A separator ends with '---' | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Just van Rossum
						Just van Rossum