From: Guido van Rossum Date: Sun, 21 Jul 1996 03:05:05 +0000 (+0000) Subject: Restore the capability to pass a class (usually Pack) as an option to widget X-Git-Tag: v1.4b2~185 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ad8b3baa919f5ab1201fca0e608905851f24e967;p=python Restore the capability to pass a class (usually Pack) as an option to widget creation; no longer support this for the config method. --- diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py index 4c7fd71927..ac814a96a2 100644 --- a/Lib/lib-tk/Tkinter.py +++ b/Lib/lib-tk/Tkinter.py @@ -827,8 +827,15 @@ class Widget(Misc, Pack, Place, Grid): cnf = _cnfmerge((cnf, kw)) self.widgetName = widgetName Widget._setup(self, master, cnf) + classes = [] + for k in cnf.keys(): + if type(k) is ClassType: + classes.append((k, cnf[k])) + del cnf[k] apply(self.tk.call, (widgetName, self._w) + extra + self._options(cnf)) + for k, v in classes: + k.config(self, v) def config(self, cnf=None, **kw): # XXX ought to generalize this so tag_config etc. can use it if kw: @@ -845,10 +852,6 @@ class Widget(Misc, Pack, Place, Grid): x = self.tk.split(self.tk.call( self._w, 'configure', '-'+cnf)) return (x[0][1:],) + x[1:] - for k in cnf.keys(): - if type(k) is ClassType: - k.config(self, cnf[k]) - del cnf[k] apply(self.tk.call, (self._w, 'configure') + self._options(cnf)) configure = config diff --git a/Lib/tkinter/Tkinter.py b/Lib/tkinter/Tkinter.py index 4c7fd71927..ac814a96a2 100755 --- a/Lib/tkinter/Tkinter.py +++ b/Lib/tkinter/Tkinter.py @@ -827,8 +827,15 @@ class Widget(Misc, Pack, Place, Grid): cnf = _cnfmerge((cnf, kw)) self.widgetName = widgetName Widget._setup(self, master, cnf) + classes = [] + for k in cnf.keys(): + if type(k) is ClassType: + classes.append((k, cnf[k])) + del cnf[k] apply(self.tk.call, (widgetName, self._w) + extra + self._options(cnf)) + for k, v in classes: + k.config(self, v) def config(self, cnf=None, **kw): # XXX ought to generalize this so tag_config etc. can use it if kw: @@ -845,10 +852,6 @@ class Widget(Misc, Pack, Place, Grid): x = self.tk.split(self.tk.call( self._w, 'configure', '-'+cnf)) return (x[0][1:],) + x[1:] - for k in cnf.keys(): - if type(k) is ClassType: - k.config(self, cnf[k]) - del cnf[k] apply(self.tk.call, (self._w, 'configure') + self._options(cnf)) configure = config