[Python-checkins] cpython (merge 3.3 -> default): Fixed grid_columnconfigure() and grid_rowconfigure() methods of
serhiy.storchaka
python-checkins at python.org
Wed Feb 19 17:35:49 CET 2014
http://hg.python.org/cpython/rev/b6df5f8f86d3
changeset: 89273:b6df5f8f86d3
parent: 89270:186f6f56f4bc
parent: 89272:6227b0ecb5fb
user: Serhiy Storchaka <storchaka at gmail.com>
date: Wed Feb 19 18:35:10 2014 +0200
summary:
Fixed grid_columnconfigure() and grid_rowconfigure() methods of
Tkinter widgets to work in wantobjects=True mode.
files:
Lib/tkinter/__init__.py | 29 ++++++++++++++++++-----------
Misc/NEWS | 3 +++
2 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/Lib/tkinter/__init__.py b/Lib/tkinter/__init__.py
--- a/Lib/tkinter/__init__.py
+++ b/Lib/tkinter/__init__.py
@@ -1339,6 +1339,21 @@
args = args + (col2, row2)
return self._getints(self.tk.call(*args)) or None
bbox = grid_bbox
+
+ def _gridconvvalue(self, value):
+ if isinstance(value, (str, _tkinter.Tcl_Obj)):
+ try:
+ svalue = str(value)
+ if not svalue:
+ return None
+ elif '.' in svalue:
+ return getdouble(svalue)
+ else:
+ return getint(svalue)
+ except ValueError:
+ pass
+ return value
+
def _grid_configure(self, command, index, cnf, kw):
"""Internal function."""
if isinstance(cnf, str) and not kw:
@@ -1357,22 +1372,14 @@
for i in range(0, len(words), 2):
key = words[i][1:]
value = words[i+1]
- if not value:
- value = None
- elif '.' in str(value):
- value = getdouble(value)
- else:
- value = getint(value)
- dict[key] = value
+ dict[key] = self._gridconvvalue(value)
return dict
res = self.tk.call(
('grid', command, self._w, index)
+ options)
if len(options) == 1:
- if not res: return None
- # In Tk 7.5, -width can be a float
- if '.' in res: return getdouble(res)
- return getint(res)
+ return self._gridconvvalue(res)
+
def grid_columnconfigure(self, index, cnf={}, **kw):
"""Configure column INDEX of a grid.
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -28,6 +28,9 @@
Library
-------
+- Issue #20635: Fixed grid_columnconfigure() and grid_rowconfigure() methods of
+ Tkinter widgets to work in wantobjects=True mode.
+
- Issue #19612: On Windows, subprocess.Popen.communicate() now ignores
OSError(22, 'Invalid argument') when writing input data into stdin, whereas
the process already exited.
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list