mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 07:01:21 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# basewin.py
 | 
						|
 | 
						|
import stdwin
 | 
						|
import mainloop
 | 
						|
from stdwinevents import *
 | 
						|
 | 
						|
class BaseWindow:
 | 
						|
	
 | 
						|
	def init(self, title):
 | 
						|
		self.win = stdwin.open(title)
 | 
						|
		self.win.dispatch = self.dispatch
 | 
						|
		mainloop.register(self.win)
 | 
						|
		return self
 | 
						|
	
 | 
						|
#	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))
 |