mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	
		
			
	
	
		
			64 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			64 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | # Tk backend -- unfinished | ||
|  | 
 | ||
|  | debug = 0 | ||
|  | 
 | ||
|  | from fmt import * | ||
|  | 
 | ||
|  | class TkFormatter: | ||
|  | 
 | ||
|  | 	def __init__(self, text): | ||
|  | 		self.text = text	# The text widget to draw in | ||
|  | 		self.nospace = 1 | ||
|  | 		self.blanklines = 0 | ||
|  | 		self.font = '' | ||
|  | 
 | ||
|  | 	# Methods called by htmllib.FormattingParser: | ||
|  | 
 | ||
|  | 	def setfont(self, font): | ||
|  | 		if 1 or debug: print "setfont(%s)" % `font` | ||
|  | 		self.font = font | ||
|  | 
 | ||
|  | 	def resetfont(self): | ||
|  | 		if debug: print "resetfont()" | ||
|  | 		self.font = '' | ||
|  | 
 | ||
|  | 	def flush(self): | ||
|  | 		if debug: print "flush()" | ||
|  | 		self.needvspace(1) | ||
|  | 
 | ||
|  | 	def setleftindent(self, n): | ||
|  | 		if debug: print "setleftindent(%d)" % n | ||
|  | 
 | ||
|  | 	def needvspace(self, n): | ||
|  | 		if debug: print "needvspace(%d)" % n | ||
|  | 		self.blanklines = max(n, self.blanklines) | ||
|  | 		self.nospace = 1 | ||
|  | 
 | ||
|  | 	def addword(self, word, nspaces): | ||
|  | 		if debug: print "addword(%s, %d)" % (`word`, nspaces) | ||
|  | 		if self.nospace and not word: | ||
|  | 			return | ||
|  | 		if self.blanklines > 0: | ||
|  | 			word = '\n'*self.blanklines + word | ||
|  | 		self.blanklines = 0 | ||
|  | 		self.nospace = 0 | ||
|  | 		here = self.text.index('end') | ||
|  | 		self.text.insert('end', word + nspaces*' ') | ||
|  | 		if not self.font: | ||
|  | 			self.tag_remo | ||
|  | 
 | ||
|  | 	def setjust(self, c): | ||
|  | 		if debug: print "setjust(%s)" % `c` | ||
|  | 
 | ||
|  | 	def bgn_anchor(self): | ||
|  | 		if debug: print "bgn_anchor()" | ||
|  | 
 | ||
|  | 	def end_anchor(self): | ||
|  | 		if debug: print "end_anchor()" | ||
|  | 
 | ||
|  | 	def hrule(self): | ||
|  | 		if debug: print "hrule()" | ||
|  | 		self.flush() | ||
|  | 		self.addword('_'*60, 0) | ||
|  | 		self.flush() |