mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	*** empty log message ***
This commit is contained in:
		
							parent
							
								
									370a0837d1
								
							
						
					
					
						commit
						f9c6ddc40a
					
				
					 1 changed files with 95 additions and 0 deletions
				
			
		
							
								
								
									
										95
									
								
								Tools/pynche/TextViewer.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								Tools/pynche/TextViewer.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,95 @@ | |||
| import sys | ||||
| from Tkinter import * | ||||
| from pynche import __version__ | ||||
| import ColorDB | ||||
| 
 | ||||
| class TextViewer: | ||||
|     def __init__(self, switchboard, parent=None): | ||||
|         self.__sb = switchboard | ||||
|         root = self.__root = Toplevel(parent, class_='Pynche') | ||||
|         root.protocol('WM_DELETE_WINDOW', self.__withdraw) | ||||
|         root.title('Pynche %s' % __version__) | ||||
|         root.iconname('Pynche Text Window') | ||||
|         root.bind('<Alt-q>', self.__quit) | ||||
|         root.bind('<Alt-Q>', self.__quit) | ||||
|         # | ||||
|         # create the text widget | ||||
|         # | ||||
|         self.__text = Text(root, relief=SUNKEN, | ||||
|                            background='black', | ||||
|                            foreground='white', | ||||
|                            width=35, height=15) | ||||
|         self.__text.pack() | ||||
|         self.__text.insert(0.0, '''\ | ||||
| Insert some stuff here and play | ||||
| with the buttons below to see | ||||
| how the colors interact in | ||||
| textual displays.''') | ||||
|         # | ||||
|         # variables | ||||
|         self.__trackp = BooleanVar() | ||||
|         self.__trackp.set(0) | ||||
|         self.__which = IntVar() | ||||
|         self.__which.set(4) | ||||
|         # | ||||
|         # track toggle | ||||
|         self.__t = Checkbutton(root, text='Track color changes', | ||||
|                                variable=self.__trackp, | ||||
|                                relief=GROOVE) | ||||
|         self.__t.pack(fill=X, expand=YES) | ||||
|         frame = self.__frame = Frame(root) | ||||
|         frame.pack() | ||||
|         # | ||||
|         # labels | ||||
|         self.__labels = [] | ||||
|         row = 2 | ||||
|         for text in ('Text:', 'Selection:', 'Insertion:'): | ||||
|             l = Label(frame, text=text) | ||||
|             l.grid(row=row, column=0, sticky=E) | ||||
|             self.__labels.append(l) | ||||
|             row = row + 1 | ||||
|         col = 1 | ||||
|         for text in ('Foreground', 'Background'): | ||||
|             l = Label(frame, text=text) | ||||
|             l.grid(row=1, column=col) | ||||
|             self.__labels.append(l) | ||||
|             col = col + 1 | ||||
|         # | ||||
|         # radios | ||||
|         self.__radios = [] | ||||
|         val = 0 | ||||
|         for col in (1, 2): | ||||
|             for row in (2, 3, 4): | ||||
|                 # there is no insertforeground option | ||||
|                 if row==4 and col==1: | ||||
|                     continue | ||||
|                 r = Radiobutton(frame, variable=self.__which, | ||||
|                                 value=(row-2)*2 + col-1) | ||||
|                 r.grid(row=row, column=col) | ||||
|                 self.__radios.append(r) | ||||
| 
 | ||||
|     def __quit(self, event=None): | ||||
|         sys.exit(0) | ||||
| 
 | ||||
|     def __withdraw(self, event=None): | ||||
|         self.__root.withdraw() | ||||
| 
 | ||||
|     def deiconify(self, event=None): | ||||
|         self.__root.deiconify() | ||||
| 
 | ||||
|     def __forceupdate(self, event=None): | ||||
|         self.__sb.update_views_current() | ||||
| 
 | ||||
|     def update_yourself(self, red, green, blue): | ||||
|         colorname = ColorDB.triplet_to_rrggbb((red, green, blue)) | ||||
|         which = self.__which.get() | ||||
|         if which == 0: | ||||
|             self.__text.configure(foreground=colorname) | ||||
|         elif which == 1: | ||||
|             self.__text.configure(background=colorname) | ||||
|         elif which == 2: | ||||
|             self.__text.configure(selectforeground=colorname) | ||||
|         elif which == 3: | ||||
|             self.__text.configure(selectbackground=colorname) | ||||
|         elif which == 5: | ||||
|             self.__text.configure(insertbackground=colorname) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Barry Warsaw
						Barry Warsaw