summaryrefslogtreecommitdiffstats
path: root/Lib/tkinter/Dialog.py
blob: db8f5dabc0f006f24f1af566edf8e2b053ef57ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Dialog.py -- Tkinter interface to the tk_dialog script.

from Tkinter import *

if TkVersion == 3.6:
	DIALOG_ICON = 'warning'
else:
	DIALOG_ICON = 'questhead'


class Dialog(Widget):
	def __init__(self, master=None, cnf={}):
		self.widgetName = '__dialog__'
		Widget._setup(self, master, cnf)
		self.num = self.tk.getint(
			apply(self.tk.call,
			      ('tk_dialog', self._w,
			       cnf['title'], cnf['text'], 
			       cnf['bitmap'], cnf['default'])
			      + cnf['strings']))
		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.',
			  'bitmap': DIALOG_ICON,
			  '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()