Commit | Line | Data |
---|---|---|
920dae64 AT |
1 | # Dialog.py -- Tkinter interface to the tk_dialog script. |
2 | ||
3 | from Tkinter import * | |
4 | from Tkinter import _cnfmerge | |
5 | ||
6 | if TkVersion <= 3.6: | |
7 | DIALOG_ICON = 'warning' | |
8 | else: | |
9 | DIALOG_ICON = 'questhead' | |
10 | ||
11 | ||
12 | class Dialog(Widget): | |
13 | def __init__(self, master=None, cnf={}, **kw): | |
14 | cnf = _cnfmerge((cnf, kw)) | |
15 | self.widgetName = '__dialog__' | |
16 | Widget._setup(self, master, cnf) | |
17 | self.num = self.tk.getint( | |
18 | self.tk.call( | |
19 | 'tk_dialog', self._w, | |
20 | cnf['title'], cnf['text'], | |
21 | cnf['bitmap'], cnf['default'], | |
22 | *cnf['strings'])) | |
23 | try: Widget.destroy(self) | |
24 | except TclError: pass | |
25 | def destroy(self): pass | |
26 | ||
27 | def _test(): | |
28 | d = Dialog(None, {'title': 'File Modified', | |
29 | 'text': | |
30 | 'File "Python.h" has been modified' | |
31 | ' since the last time it was saved.' | |
32 | ' Do you want to save it before' | |
33 | ' exiting the application.', | |
34 | 'bitmap': DIALOG_ICON, | |
35 | 'default': 0, | |
36 | 'strings': ('Save File', | |
37 | 'Discard Changes', | |
38 | 'Return to Editor')}) | |
39 | print d.num | |
40 | ||
41 | ||
42 | if __name__ == '__main__': | |
43 | t = Button(None, {'text': 'Test', | |
44 | 'command': _test, | |
45 | Pack: {}}) | |
46 | q = Button(None, {'text': 'Quit', | |
47 | 'command': t.quit, | |
48 | Pack: {}}) | |
49 | t.mainloop() |