# $Id: tkMessageBox.py,v 1.3 2004/09/18 16:01:23 loewis Exp $
# tk common message boxes
# this module provides an interface to the native message boxes
# available in Tk 4.2 and newer.
# written by Fredrik Lundh, May 1997
# options (all have default values):
# - default: which button to make default (one of the reply codes)
# - icon: which icon to display (see below)
# - message: the message to display
# - parent: which window to place the dialog on top of
# - type: dialog type; that is, which buttons to display (see below)
from tkCommonDialog
import Dialog
ABORTRETRYIGNORE
= "abortretryignore"
RETRYCANCEL
= "retrycancel"
YESNOCANCEL
= "yesnocancel"
command
= "tk_messageBox"
def _show(title
=None, message
=None, icon
=None, type=None, **options
):
if icon
: options
["icon"] = icon
if type: options
["type"] = type
if title
: options
["title"] = title
if message
: options
["message"] = message
res
= Message(**options
).show()
# In some Tcl installations, Tcl converts yes/no into a boolean
if isinstance(res
, bool):
def showinfo(title
=None, message
=None, **options
):
return _show(title
, message
, INFO
, OK
, **options
)
def showwarning(title
=None, message
=None, **options
):
return _show(title
, message
, WARNING
, OK
, **options
)
def showerror(title
=None, message
=None, **options
):
return _show(title
, message
, ERROR
, OK
, **options
)
def askquestion(title
=None, message
=None, **options
):
return _show(title
, message
, QUESTION
, YESNO
, **options
)
def askokcancel(title
=None, message
=None, **options
):
"Ask if operation should proceed; return true if the answer is ok"
s
= _show(title
, message
, QUESTION
, OKCANCEL
, **options
)
def askyesno(title
=None, message
=None, **options
):
"Ask a question; return true if the answer is yes"
s
= _show(title
, message
, QUESTION
, YESNO
, **options
)
def askretrycancel(title
=None, message
=None, **options
):
"Ask if operation should be retried; return true if the answer is yes"
s
= _show(title
, message
, WARNING
, RETRYCANCEL
, **options
)
# --------------------------------------------------------------------
if __name__
== "__main__":
print "info", showinfo("Spam", "Egg Information")
print "warning", showwarning("Spam", "Egg Warning")
print "error", showerror("Spam", "Egg Alert")
print "question", askquestion("Spam", "Question?")
print "proceed", askokcancel("Spam", "Proceed?")
print "yes/no", askyesno("Spam", "Got it?")
print "try again", askretrycancel("Spam", "Try again?")