diff --git a/Lib/tkinter/Dialog.py b/Lib/tkinter/Dialog.py
new file mode 100755
index 0000000..28222ec
--- /dev/null
+++ b/Lib/tkinter/Dialog.py
@@ -0,0 +1,38 @@
+# Dialog.py -- Tkinter interface to the tk_dialog script.
+from Tkinter import *
+
+class Dialog(Widget):
+	def __init__(self, master=None, cnf={}):
+		Widget._setup(self, master, cnf)
+		self.num = apply(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': 'warning',
+			  '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()
