Kaydet (Commit) 6b04ffe9 authored tarafından Fred Drake's avatar Fred Drake

Be more careful about accessing attributes of the parent: if Tk has not been

initialized, this will be None, but the functions will still work (there will
simply be a bogus parent on the screen).  Allowing the parent to be None
is useful when testing the functions from an interactive interpreter.

Add an optional keyword paramter "show" to the _QueryString class; when given
it is used to set the -show option to the entry widget.  This allows passing
show="*" or the like to askstring(), making it useful for requesting
passwords/passphrases from the user.
This closes SF bug #438517.

Changed a docstring to be less font-lock-hostile.
üst 22d35a73
......@@ -68,8 +68,9 @@ class Dialog(Toplevel):
self.protocol("WM_DELETE_WINDOW", self.cancel)
self.geometry("+%d+%d" % (parent.winfo_rootx()+50,
parent.winfo_rooty()+50))
if self.parent is not None:
self.geometry("+%d+%d" % (parent.winfo_rootx()+50,
parent.winfo_rooty()+50))
self.initial_focus.focus_set()
......@@ -95,7 +96,7 @@ class Dialog(Toplevel):
def buttonbox(self):
'''add standard button box.
override if you don't want the standard buttons
override if you do not want the standard buttons
'''
box = Frame(self)
......@@ -129,7 +130,8 @@ class Dialog(Toplevel):
def cancel(self, event=None):
# put focus back to the parent window
self.parent.focus_set()
if self.parent is not None:
self.parent.focus_set()
self.destroy()
#
......@@ -270,6 +272,20 @@ def askfloat(title, prompt, **kw):
return d.result
class _QueryString(_QueryDialog):
def __init__(self, *args, **kw):
if kw.has_key("show"):
self.__show = kw["show"]
del kw["show"]
else:
self.__show = None
_QueryDialog.__init__(self, *args, **kw)
def body(self, master):
entry = _QueryDialog.body(self, master)
if self.__show is not None:
entry.configure(show=self.__show)
return entry
def getresult(self):
return self.entry.get()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment