| 
									
										
										
										
											1998-10-10 18:48:31 +00:00
										 |  |  | from repr import Repr | 
					
						
							|  |  |  | from Tkinter import * | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class FrameViewer: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def __init__(self, root, frame): | 
					
						
							|  |  |  |         self.root = root | 
					
						
							|  |  |  |         self.frame = frame | 
					
						
							|  |  |  |         self.top = Toplevel(self.root) | 
					
						
							|  |  |  |         self.repr = Repr() | 
					
						
							|  |  |  |         self.repr.maxstring = 60 | 
					
						
							|  |  |  |         self.load_variables() | 
					
						
							| 
									
										
										
										
											1999-01-02 21:28:54 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-10-10 18:48:31 +00:00
										 |  |  |     def load_variables(self): | 
					
						
							|  |  |  |         row = 0 | 
					
						
							|  |  |  |         if self.frame.f_locals is not self.frame.f_globals: | 
					
						
							|  |  |  |             l = Label(self.top, text="Local Variables", | 
					
						
							|  |  |  |                       borderwidth=2, relief="raised") | 
					
						
							|  |  |  |             l.grid(row=row, column=0, columnspan=2, sticky="ew") | 
					
						
							|  |  |  |             row = self.load_names(self.frame.f_locals, row+1) | 
					
						
							|  |  |  |         l = Label(self.top, text="Global Variables", | 
					
						
							|  |  |  |                   borderwidth=2, relief="raised") | 
					
						
							|  |  |  |         l.grid(row=row, column=0, columnspan=2, sticky="ew") | 
					
						
							|  |  |  |         row = self.load_names(self.frame.f_globals, row+1) | 
					
						
							| 
									
										
										
										
											1999-01-02 21:28:54 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-10-10 18:48:31 +00:00
										 |  |  |     def load_names(self, dict, row): | 
					
						
							|  |  |  |         names = dict.keys() | 
					
						
							|  |  |  |         names.sort() | 
					
						
							|  |  |  |         for name in names: | 
					
						
							|  |  |  |             value = dict[name] | 
					
						
							|  |  |  |             svalue = self.repr.repr(value) | 
					
						
							|  |  |  |             l = Label(self.top, text=name) | 
					
						
							|  |  |  |             l.grid(row=row, column=0, sticky="w") | 
					
						
							|  |  |  |             l = Entry(self.top, width=60, borderwidth=0) | 
					
						
							|  |  |  |             l.insert(0, svalue) | 
					
						
							|  |  |  |             l.grid(row=row, column=1, sticky="w") | 
					
						
							|  |  |  |             row = row+1 | 
					
						
							|  |  |  |         return row |