| 
									
										
										
										
											1992-01-22 22:21:31 +00:00
										 |  |  | # basewin.py | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import stdwin | 
					
						
							|  |  |  | import mainloop | 
					
						
							|  |  |  | from stdwinevents import * | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class BaseWindow: | 
					
						
							|  |  |  | 	 | 
					
						
							| 
									
										
										
										
											1993-12-17 15:25:27 +00:00
										 |  |  | 	def __init__(self, title): | 
					
						
							| 
									
										
										
										
											1992-01-22 22:21:31 +00:00
										 |  |  | 		self.win = stdwin.open(title) | 
					
						
							|  |  |  | 		self.win.dispatch = self.dispatch | 
					
						
							|  |  |  | 		mainloop.register(self.win) | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | #	def reopen(self): | 
					
						
							|  |  |  | #		title = self.win.gettitle() | 
					
						
							|  |  |  | #		winpos = self.win.getwinpos() | 
					
						
							|  |  |  | #		winsize = self.win.getwinsize() | 
					
						
							|  |  |  | #		origin = self.win.getorigin() | 
					
						
							|  |  |  | #		docsize = self.win.getdocsize() | 
					
						
							|  |  |  | #		mainloop.unregister(self.win) | 
					
						
							|  |  |  | #		del self.win.dispatch | 
					
						
							|  |  |  | #		self.win.close() | 
					
						
							|  |  |  | #		stdwin.setdefwinpos(winpos) | 
					
						
							|  |  |  | #		stdwin.setdefwinsize(winsize) | 
					
						
							|  |  |  | #		self.win = stdwin.open(title) | 
					
						
							|  |  |  | #		stdwin.setdefwinpos(0, 0) | 
					
						
							|  |  |  | #		stdwin.setdefwinsize(0, 0) | 
					
						
							|  |  |  | #		self.win.setdocsize(docsize) | 
					
						
							|  |  |  | #		self.win.setorigin(origin) | 
					
						
							|  |  |  | #		self.win.dispatch = self.dispatch | 
					
						
							|  |  |  | #		mainloop.register(self.win) | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	def popup(self): | 
					
						
							|  |  |  | 		if self.win is not stdwin.getactive(): | 
					
						
							|  |  |  | 			self.win.setactive() | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	def close(self): | 
					
						
							|  |  |  | 		mainloop.unregister(self.win) | 
					
						
							|  |  |  | 		del self.win.dispatch | 
					
						
							|  |  |  | 		self.win.close() | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	def dispatch(self, event): | 
					
						
							|  |  |  | 		type, win, detail = event | 
					
						
							|  |  |  | 		if type == WE_CHAR: | 
					
						
							|  |  |  | 			self.char(detail) | 
					
						
							|  |  |  | 		elif type == WE_COMMAND: | 
					
						
							|  |  |  | 			self.command(detail) | 
					
						
							|  |  |  | 		elif type == WE_MOUSE_DOWN: | 
					
						
							|  |  |  | 			self.mouse_down(detail) | 
					
						
							|  |  |  | 		elif type == WE_MOUSE_MOVE: | 
					
						
							|  |  |  | 			self.mouse_move(detail) | 
					
						
							|  |  |  | 		elif type == WE_MOUSE_UP: | 
					
						
							|  |  |  | 			self.mouse_up(detail) | 
					
						
							|  |  |  | 		elif type == WE_DRAW: | 
					
						
							|  |  |  | 			self.draw(detail) | 
					
						
							|  |  |  | 		elif type == WE_CLOSE: | 
					
						
							|  |  |  | 			self.close() | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	def no_op(self, detail): | 
					
						
							|  |  |  | 		pass | 
					
						
							|  |  |  | 	char = command = mouse_down = mouse_move = mouse_up = draw = no_op | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	def refreshall(self): | 
					
						
							|  |  |  | 		self.win.change((-10, 0), (10000, 30000)) |