| 
									
										
										
										
											1990-10-13 19:23:40 +00:00
										 |  |  | # Module 'dirwin' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Directory windows, a subclass of listwin | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1992-03-31 19:04:48 +00:00
										 |  |  | import os | 
					
						
							| 
									
										
										
										
											1990-10-13 19:23:40 +00:00
										 |  |  | import gwin | 
					
						
							|  |  |  | import listwin | 
					
						
							|  |  |  | import anywin | 
					
						
							|  |  |  | import dircache | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def action(w, string, i, detail): | 
					
						
							|  |  |  | 	(h, v), clicks, button, mask = detail | 
					
						
							| 
									
										
										
										
											1992-01-01 19:35:13 +00:00
										 |  |  | 	if clicks == 2: | 
					
						
							| 
									
										
										
										
											1992-03-31 19:04:48 +00:00
										 |  |  | 		name = os.path.join(w.name, string) | 
					
						
							| 
									
										
										
										
											1990-10-13 19:23:40 +00:00
										 |  |  | 		try: | 
					
						
							| 
									
										
										
										
											1990-10-21 16:15:58 +00:00
										 |  |  | 			w2 = anywin.open(name) | 
					
						
							|  |  |  | 			w2.parent = w | 
					
						
							| 
									
										
										
										
											1992-03-31 19:04:48 +00:00
										 |  |  | 		except os.error, why: | 
					
						
							| 
									
										
										
										
											1990-10-13 19:23:40 +00:00
										 |  |  | 			stdwin.message('Can\'t open ' + name + ': ' + why[1]) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def open(name): | 
					
						
							| 
									
										
										
										
											1992-03-31 19:04:48 +00:00
										 |  |  | 	name = os.path.join(name, '') | 
					
						
							| 
									
										
										
										
											1990-10-13 19:23:40 +00:00
										 |  |  | 	list = dircache.opendir(name)[:] | 
					
						
							|  |  |  | 	list.sort() | 
					
						
							|  |  |  | 	dircache.annotate(name, list) | 
					
						
							|  |  |  | 	w = listwin.open(name, list) | 
					
						
							|  |  |  | 	w.name = name | 
					
						
							|  |  |  | 	w.action = action | 
					
						
							|  |  |  | 	return w |