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()
|
---|