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