aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib-python/3/tkinter/dialog.py')
-rw-r--r--lib-python/3/tkinter/dialog.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/lib-python/3/tkinter/dialog.py b/lib-python/3/tkinter/dialog.py
new file mode 100644
index 0000000000..be085abe1d
--- /dev/null
+++ b/lib-python/3/tkinter/dialog.py
@@ -0,0 +1,49 @@
+# dialog.py -- Tkinter interface to the tk_dialog script.
+
+from tkinter import *
+from tkinter import _cnfmerge
+
+if TkVersion <= 3.6:
+ DIALOG_ICON = 'warning'
+else:
+ DIALOG_ICON = 'questhead'
+
+
+class Dialog(Widget):
+ def __init__(self, master=None, cnf={}, **kw):
+ cnf = _cnfmerge((cnf, kw))
+ self.widgetName = '__dialog__'
+ Widget._setup(self, master, cnf)
+ self.num = self.tk.getint(
+ 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()