| 
									
										
										
										
											1994-06-27 08:00:16 +00:00
										 |  |  | # Dialog.py -- Tkinter interface to the tk_dialog script. | 
					
						
							| 
									
										
										
										
											1995-07-14 15:29:10 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1994-06-27 08:00:16 +00:00
										 |  |  | from Tkinter import * | 
					
						
							| 
									
										
										
										
											1995-08-04 03:49:39 +00:00
										 |  |  | from Tkinter import _cnfmerge | 
					
						
							| 
									
										
										
										
											1994-06-27 08:00:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1995-08-04 03:49:39 +00:00
										 |  |  | if TkVersion <= 3.6: | 
					
						
							| 
									
										
										
										
											1995-07-14 15:29:10 +00:00
										 |  |  | 	DIALOG_ICON = 'warning' | 
					
						
							|  |  |  | else: | 
					
						
							|  |  |  | 	DIALOG_ICON = 'questhead' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1994-06-27 08:00:16 +00:00
										 |  |  | class Dialog(Widget): | 
					
						
							| 
									
										
										
										
											1995-08-04 03:49:39 +00:00
										 |  |  | 	def __init__(self, master=None, cnf={}, **kw): | 
					
						
							|  |  |  | 		cnf = _cnfmerge((cnf, kw)) | 
					
						
							| 
									
										
										
										
											1995-07-14 15:29:10 +00:00
										 |  |  | 		self.widgetName = '__dialog__' | 
					
						
							| 
									
										
										
										
											1994-06-27 08:00:16 +00:00
										 |  |  | 		Widget._setup(self, master, cnf) | 
					
						
							| 
									
										
										
										
											1994-08-30 12:13:44 +00:00
										 |  |  | 		self.num = self.tk.getint( | 
					
						
							|  |  |  | 			apply(self.tk.call, | 
					
						
							|  |  |  | 			      ('tk_dialog', self._w, | 
					
						
							|  |  |  | 			       cnf['title'], cnf['text'],  | 
					
						
							|  |  |  | 			       cnf['bitmap'], cnf['default']) | 
					
						
							|  |  |  | 			      + cnf['strings'])) | 
					
						
							| 
									
										
										
										
											1994-06-27 08:00:16 +00:00
										 |  |  | 		try: Widget.destroy(self) | 
					
						
							|  |  |  | 		except TclError: pass | 
					
						
							|  |  |  | 	def destroy(self): pass | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def _test(): | 
					
						
							|  |  |  | 	d = Dialog(None, {'title': 'File Modified', | 
					
						
							|  |  |  | 			  'text': | 
					
						
							|  |  |  | 			  'File "Python.h" has been modified' | 
					
						
							|  |  |  | 			  ' since the last time it was saved.' | 
					
						
							|  |  |  | 			  ' Do you want to save it before' | 
					
						
							|  |  |  | 			  ' exiting the application.', | 
					
						
							| 
									
										
										
										
											1995-07-14 15:29:10 +00:00
										 |  |  | 			  'bitmap': DIALOG_ICON, | 
					
						
							| 
									
										
										
										
											1994-06-27 08:00:16 +00:00
										 |  |  | 			  'default': 0, | 
					
						
							|  |  |  | 			  'strings': ('Save File',  | 
					
						
							|  |  |  | 				      'Discard Changes',  | 
					
						
							|  |  |  | 				      'Return to Editor')}) | 
					
						
							|  |  |  | 	print d.num | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == '__main__': | 
					
						
							|  |  |  | 	t = Button(None, {'text': 'Test', | 
					
						
							|  |  |  | 			  'command': _test, | 
					
						
							|  |  |  | 			  Pack: {}}) | 
					
						
							|  |  |  | 	q = Button(None, {'text': 'Quit', | 
					
						
							|  |  |  | 			  'command': t.quit, | 
					
						
							|  |  |  | 			  Pack: {}}) | 
					
						
							|  |  |  | 	t.mainloop() |