diff options
-rw-r--r-- | Lib/lib-tk/tkSimpleDialog.py | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/Lib/lib-tk/tkSimpleDialog.py b/Lib/lib-tk/tkSimpleDialog.py index 15ff544..3dac212 100644 --- a/Lib/lib-tk/tkSimpleDialog.py +++ b/Lib/lib-tk/tkSimpleDialog.py @@ -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() |