mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	* Tkinter.py
(Widget): generalized config(); added keys(). (Canvas): added addtag_xxx and find_xxx functions; generalized itemconfig().
This commit is contained in:
		
							parent
							
								
									08a403821d
								
							
						
					
					
						commit
						9b68fd961c
					
				
					 2 changed files with 102 additions and 12 deletions
				
			
		|  | @ -510,7 +510,17 @@ def __init__(self, master, widgetName, cnf={}, extra=()): | |||
| 		if master.children.has_key(name): | ||||
| 			 master.children[name].destroy() | ||||
| 		master.children[name] = self | ||||
| 	def config(self, cnf={}): | ||||
| 	def config(self, cnf=None): | ||||
| 		if cnf is None: | ||||
| 			cnf = {} | ||||
| 			for x in self.tk.split( | ||||
| 				self.tk.call(self._w, 'configure')): | ||||
| 				cnf[x[0][1:]] = (x[0][1:],) + x[1:] | ||||
| 			return cnf | ||||
| 		if type(cnf) == StringType: | ||||
| 			x = self.tk.split(self.tk.call( | ||||
| 				self._w, 'configure', '-'+cnf)) | ||||
| 			return (x[0][1:],) + x[1:] | ||||
| 		for k in cnf.keys(): | ||||
| 			if type(k) == ClassType: | ||||
| 				k.config(self, cnf[k]) | ||||
|  | @ -523,6 +533,9 @@ def __getitem__(self, key): | |||
| 		return v[4] | ||||
| 	def __setitem__(self, key, value): | ||||
| 		Widget.config(self, {key: value}) | ||||
| 	def keys(self): | ||||
| 		return map(lambda x: x[0][1:], | ||||
| 			   self.tk.split(self.tk.call(self._w, 'configure'))) | ||||
| 	def __str__(self): | ||||
| 		return self._w | ||||
| 	def destroy(self): | ||||
|  | @ -585,8 +598,22 @@ def __init__(self, master=None, cnf={}): | |||
| 		Widget.__init__(self, master, 'canvas', cnf) | ||||
| 	def addtag(self, *args): | ||||
| 		self._do('addtag', args) | ||||
| 	def addtag_above(self, tagOrId): | ||||
| 		self.addtag('above', tagOrId) | ||||
| 	def addtag_all(self): | ||||
| 		self.addtag('all') | ||||
| 	def addtag_below(self, tagOrId): | ||||
| 		self.addtag('below', tagOrId) | ||||
| 	def addtag_closest(self, x, y, halo=None, start=None): | ||||
| 		self.addtag('closest', x, y, halo, start) | ||||
| 	def addtag_enclosed(self, x1, y1, x2, y2): | ||||
| 		self.addtag('enclosed', x1, y1, x2, y2) | ||||
| 	def addtag_overlapping(self, x1, y1, x2, y2): | ||||
| 		self.addtag('overlapping', x1, y1, x2, y2) | ||||
| 	def addtag_withtag(self, tagOrId): | ||||
| 		self.addtag('withtag', tagOrId) | ||||
| 	def bbox(self, *args): | ||||
| 		return self._getints(self._do('bbox', args)) | ||||
| 		return self._getints(self._do('bbox', args)) or None | ||||
| 	def bind(self, tagOrId, sequence, func, add=''): | ||||
| 		if add: add='+' | ||||
| 		name = self._register(func, self._substitute) | ||||
|  | @ -635,6 +662,20 @@ def dtag(self, *args): | |||
| 		self._do('dtag', args) | ||||
| 	def find(self, *args): | ||||
| 		return self._getints(self._do('find', args)) | ||||
| 	def find_above(self, tagOrId): | ||||
| 		return self.find('above', tagOrId) | ||||
| 	def find_all(self): | ||||
| 		return self.find('all') | ||||
| 	def find_below(self, tagOrId): | ||||
| 		return self.find('below', tagOrId) | ||||
| 	def find_closest(self, x, y, halo=None, start=None): | ||||
| 		return self.find('closest', x, y, halo, start) | ||||
| 	def find_enclosed(self, x1, y1, x2, y2): | ||||
| 		return self.find('enclosed', x1, y1, x2, y2) | ||||
| 	def find_overlapping(self, x1, y1, x2, y2): | ||||
| 		return self.find('overlapping', x1, y1, x2, y2) | ||||
| 	def find_withtag(self, tagOrId): | ||||
| 		return self.find('withtag', tagOrId) | ||||
| 	def focus(self, *args): | ||||
| 		return self._do('focus', args) | ||||
| 	def gettags(self, *args): | ||||
|  | @ -647,11 +688,15 @@ def insert(self, *args): | |||
| 		self._do('insert', args) | ||||
| 	def itemconfig(self, tagOrId, cnf=None): | ||||
| 		if cnf is None: | ||||
| 			return self.tk.split(self._do('itemconfigure', | ||||
| 						      (tagOrId))) | ||||
| 			cnf = {} | ||||
| 			for x in self.tk.split( | ||||
| 				self._do('itemconfigure', (tagOrId))): | ||||
| 				cnf[x[0][1:]] = (x[0][1:],) + x[1:] | ||||
| 			return cnf | ||||
| 		if type(cnf) == StringType: | ||||
| 			return self.tk.split(self._do('itemconfigure', | ||||
| 						      (tagOrId, '-'+cnf,))) | ||||
| 			x = self.tk.split(self._do('itemconfigure', | ||||
| 						   (tagOrId, '-'+cnf,))) | ||||
| 			return (x[0][1:],) + x[1:] | ||||
| 		self._do('itemconfigure', (tagOrId,) + self._options(cnf)) | ||||
| 	def lower(self, *args): | ||||
| 		self._do('lower', args) | ||||
|  |  | |||
|  | @ -510,7 +510,17 @@ def __init__(self, master, widgetName, cnf={}, extra=()): | |||
| 		if master.children.has_key(name): | ||||
| 			 master.children[name].destroy() | ||||
| 		master.children[name] = self | ||||
| 	def config(self, cnf={}): | ||||
| 	def config(self, cnf=None): | ||||
| 		if cnf is None: | ||||
| 			cnf = {} | ||||
| 			for x in self.tk.split( | ||||
| 				self.tk.call(self._w, 'configure')): | ||||
| 				cnf[x[0][1:]] = (x[0][1:],) + x[1:] | ||||
| 			return cnf | ||||
| 		if type(cnf) == StringType: | ||||
| 			x = self.tk.split(self.tk.call( | ||||
| 				self._w, 'configure', '-'+cnf)) | ||||
| 			return (x[0][1:],) + x[1:] | ||||
| 		for k in cnf.keys(): | ||||
| 			if type(k) == ClassType: | ||||
| 				k.config(self, cnf[k]) | ||||
|  | @ -523,6 +533,9 @@ def __getitem__(self, key): | |||
| 		return v[4] | ||||
| 	def __setitem__(self, key, value): | ||||
| 		Widget.config(self, {key: value}) | ||||
| 	def keys(self): | ||||
| 		return map(lambda x: x[0][1:], | ||||
| 			   self.tk.split(self.tk.call(self._w, 'configure'))) | ||||
| 	def __str__(self): | ||||
| 		return self._w | ||||
| 	def destroy(self): | ||||
|  | @ -585,8 +598,22 @@ def __init__(self, master=None, cnf={}): | |||
| 		Widget.__init__(self, master, 'canvas', cnf) | ||||
| 	def addtag(self, *args): | ||||
| 		self._do('addtag', args) | ||||
| 	def addtag_above(self, tagOrId): | ||||
| 		self.addtag('above', tagOrId) | ||||
| 	def addtag_all(self): | ||||
| 		self.addtag('all') | ||||
| 	def addtag_below(self, tagOrId): | ||||
| 		self.addtag('below', tagOrId) | ||||
| 	def addtag_closest(self, x, y, halo=None, start=None): | ||||
| 		self.addtag('closest', x, y, halo, start) | ||||
| 	def addtag_enclosed(self, x1, y1, x2, y2): | ||||
| 		self.addtag('enclosed', x1, y1, x2, y2) | ||||
| 	def addtag_overlapping(self, x1, y1, x2, y2): | ||||
| 		self.addtag('overlapping', x1, y1, x2, y2) | ||||
| 	def addtag_withtag(self, tagOrId): | ||||
| 		self.addtag('withtag', tagOrId) | ||||
| 	def bbox(self, *args): | ||||
| 		return self._getints(self._do('bbox', args)) | ||||
| 		return self._getints(self._do('bbox', args)) or None | ||||
| 	def bind(self, tagOrId, sequence, func, add=''): | ||||
| 		if add: add='+' | ||||
| 		name = self._register(func, self._substitute) | ||||
|  | @ -635,6 +662,20 @@ def dtag(self, *args): | |||
| 		self._do('dtag', args) | ||||
| 	def find(self, *args): | ||||
| 		return self._getints(self._do('find', args)) | ||||
| 	def find_above(self, tagOrId): | ||||
| 		return self.find('above', tagOrId) | ||||
| 	def find_all(self): | ||||
| 		return self.find('all') | ||||
| 	def find_below(self, tagOrId): | ||||
| 		return self.find('below', tagOrId) | ||||
| 	def find_closest(self, x, y, halo=None, start=None): | ||||
| 		return self.find('closest', x, y, halo, start) | ||||
| 	def find_enclosed(self, x1, y1, x2, y2): | ||||
| 		return self.find('enclosed', x1, y1, x2, y2) | ||||
| 	def find_overlapping(self, x1, y1, x2, y2): | ||||
| 		return self.find('overlapping', x1, y1, x2, y2) | ||||
| 	def find_withtag(self, tagOrId): | ||||
| 		return self.find('withtag', tagOrId) | ||||
| 	def focus(self, *args): | ||||
| 		return self._do('focus', args) | ||||
| 	def gettags(self, *args): | ||||
|  | @ -647,11 +688,15 @@ def insert(self, *args): | |||
| 		self._do('insert', args) | ||||
| 	def itemconfig(self, tagOrId, cnf=None): | ||||
| 		if cnf is None: | ||||
| 			return self.tk.split(self._do('itemconfigure', | ||||
| 						      (tagOrId))) | ||||
| 			cnf = {} | ||||
| 			for x in self.tk.split( | ||||
| 				self._do('itemconfigure', (tagOrId))): | ||||
| 				cnf[x[0][1:]] = (x[0][1:],) + x[1:] | ||||
| 			return cnf | ||||
| 		if type(cnf) == StringType: | ||||
| 			return self.tk.split(self._do('itemconfigure', | ||||
| 						      (tagOrId, '-'+cnf,))) | ||||
| 			x = self.tk.split(self._do('itemconfigure', | ||||
| 						   (tagOrId, '-'+cnf,))) | ||||
| 			return (x[0][1:],) + x[1:] | ||||
| 		self._do('itemconfigure', (tagOrId,) + self._options(cnf)) | ||||
| 	def lower(self, *args): | ||||
| 		self._do('lower', args) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Guido van Rossum
						Guido van Rossum