2008-05-17 15:39:55 -03:00
|
|
|
# dialog.py -- Tkinter interface to the tk_dialog script.
|
1995-07-14 12:29:10 -03:00
|
|
|
|
2019-07-25 22:30:33 -03:00
|
|
|
from tkinter import _cnfmerge, Widget, TclError, Button, Pack
|
|
|
|
|
|
|
|
__all__ = ["Dialog"]
|
1994-06-27 05:00:16 -03:00
|
|
|
|
2016-04-25 07:49:11 -03:00
|
|
|
DIALOG_ICON = 'questhead'
|
1995-07-14 12:29:10 -03:00
|
|
|
|
|
|
|
|
1994-06-27 05:00:16 -03:00
|
|
|
class Dialog(Widget):
|
2000-10-23 15:31:14 -03:00
|
|
|
def __init__(self, master=None, cnf={}, **kw):
|
|
|
|
cnf = _cnfmerge((cnf, kw))
|
|
|
|
self.widgetName = '__dialog__'
|
|
|
|
Widget._setup(self, master, cnf)
|
|
|
|
self.num = self.tk.getint(
|
2003-04-06 06:01:11 -03:00
|
|
|
self.tk.call(
|
|
|
|
'tk_dialog', self._w,
|
|
|
|
cnf['title'], cnf['text'],
|
|
|
|
cnf['bitmap'], cnf['default'],
|
|
|
|
*cnf['strings']))
|
2000-10-23 15:31:14 -03:00
|
|
|
try: Widget.destroy(self)
|
|
|
|
except TclError: pass
|
2018-10-12 13:01:00 -03:00
|
|
|
|
2000-10-23 15:31:14 -03:00
|
|
|
def destroy(self): pass
|
1994-06-27 05:00:16 -03:00
|
|
|
|
2018-10-12 13:01:00 -03:00
|
|
|
|
1994-06-27 05:00:16 -03:00
|
|
|
def _test():
|
2000-10-23 15:31:14 -03:00
|
|
|
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')})
|
2007-02-09 01:37:30 -04:00
|
|
|
print(d.num)
|
1994-06-27 05:00:16 -03:00
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
2000-10-23 15:31:14 -03:00
|
|
|
t = Button(None, {'text': 'Test',
|
|
|
|
'command': _test,
|
|
|
|
Pack: {}})
|
|
|
|
q = Button(None, {'text': 'Quit',
|
|
|
|
'command': t.quit,
|
|
|
|
Pack: {}})
|
|
|
|
t.mainloop()
|