mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Added keyboard, alternate drawing, realize and getwindow interfaces.
This commit is contained in:
		
							parent
							
								
									9ddba3e9ee
								
							
						
					
					
						commit
						aa57a9d733
					
				
					 2 changed files with 88 additions and 4 deletions
				
			
		|  | @ -18,7 +18,9 @@ def create(self, parent): | |||
| 		self.parent = parent | ||||
| 		self.children = [] | ||||
| 		self.mouse_interest = [] | ||||
| 		self.keybd_interest = [] | ||||
| 		self.timer_interest = [] | ||||
| 		self.altdraw_interest = [] | ||||
| 		self.mouse_focus = 0 | ||||
| 		return self | ||||
| 	# | ||||
|  | @ -30,18 +32,28 @@ def destroy(self): | |||
| 			child.destroy() | ||||
| 		del self.children[:] | ||||
| 		del self.mouse_interest[:] | ||||
| 		del self.keybd_interest[:] | ||||
| 		del self.timer_interest[:] | ||||
| 		del self.altdraw_interest[:] | ||||
| 		self.mouse_focus = None | ||||
| 	# | ||||
| 	def minsize(self, m): return unimpl() | ||||
| 	def minsize(self, m): return unimpl()	# Should ask children | ||||
| 	def getbounds(self): return unimpl() | ||||
| 	def setbounds(self, bounds): unimpl() | ||||
| 	def setbounds(self, bounds): unimpl()	# Should tell children | ||||
| 	# | ||||
| 	def realize(self): | ||||
| 		for child in self.children: | ||||
| 			child.realize() | ||||
| 	# | ||||
| 	def draw(self, d_detail): | ||||
| 		# (Could avoid calls to children outside the area) | ||||
| 		for child in self.children: | ||||
| 			child.draw(d_detail) | ||||
| 	# | ||||
| 	def altdraw(self, detail): | ||||
| 		for child in self.altdraw_interest: | ||||
| 			child.altdraw(detail) | ||||
| 	# | ||||
| 	# Downcalls only made after certain upcalls | ||||
| 	# | ||||
| 	def mouse_down(self, detail): | ||||
|  | @ -60,6 +72,10 @@ def mouse_up(self, detail): | |||
| 			self.mouse_focus.mouse_up(detail) | ||||
| 			self.mouse_focus = 0 | ||||
| 	# | ||||
| 	def keybd(self, type_detail): | ||||
| 		for child in self.keybd_interest: | ||||
| 			child.keybd(type_detail) | ||||
| 	# | ||||
| 	def timer(self): | ||||
| 		for child in self.timer_interest: | ||||
| 			child.timer() | ||||
|  | @ -76,8 +92,12 @@ def delchild(self, child): | |||
| 		remove(child, self.children) | ||||
| 		if child in self.mouse_interest: | ||||
| 			remove(child, self.mouse_interest) | ||||
| 		if child in self.keybd_interest: | ||||
| 			remove(child, self.keybd_interest) | ||||
| 		if child in self.timer_interest: | ||||
| 			remove(child, self.timer_interest) | ||||
| 		if child in self.altdraw_interest: | ||||
| 			remove(child, self.altdraw_interest) | ||||
| 		if child = self.mouse_focus: | ||||
| 			self.mouse_focus = 0 | ||||
| 	# | ||||
|  | @ -91,6 +111,16 @@ def no_mouse(self, child): | |||
| 			if not self.mouse_interest: | ||||
| 				self.parent.no_mouse(self) | ||||
| 	# | ||||
| 	def need_keybd(self, child): | ||||
| 		if child not in self.keybd_interest: | ||||
| 			self.keybd_interest.append(child) | ||||
| 			self.parent.need_keybd(self) | ||||
| 	def no_keybd(self, child): | ||||
| 		if child in self.keybd_interest: | ||||
| 			remove(child, self.keybd_interest) | ||||
| 			if not self.keybd_interest: | ||||
| 				self.parent.no_keybd(self) | ||||
| 	# | ||||
| 	def need_timer(self, child): | ||||
| 		if child not in self.timer_interest: | ||||
| 			self.timer_interest.append(child) | ||||
|  | @ -101,12 +131,24 @@ def no_timer(self, child): | |||
| 			if not self.timer_interest: | ||||
| 				self.parent.no_timer(self) | ||||
| 	# | ||||
| 	def need_altdraw(self, child): | ||||
| 		if child not in self.altdraw_interest: | ||||
| 			self.altdraw_interest.append(child) | ||||
| 			self.parent.need_altdraw(self) | ||||
| 	def no_altdraw(self, child): | ||||
| 		if child in self.altdraw_interest: | ||||
| 			remove(child, self.altdraw_interest) | ||||
| 			if not self.altdraw_interest: | ||||
| 				self.parent.no_altdraw(self) | ||||
| 	# | ||||
| 	# The rest are transparent: | ||||
| 	# | ||||
| 	def begindrawing(self): | ||||
| 		return self.parent.begindrawing() | ||||
| 	def beginmeasuring(self): | ||||
| 		return self.parent.beginmeasuring() | ||||
| 	def getwindow(self): | ||||
| 		return self.parent.getwindow() | ||||
| 	# | ||||
| 	def change(self, area): | ||||
| 		self.parent.change(area) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Guido van Rossum
						Guido van Rossum