Commit 1a34834e authored by Georg Brandl's avatar Georg Brandl

Backport r63776: tkinter fixes.

parent 84d18a97
...@@ -1055,6 +1055,12 @@ class Misc: ...@@ -1055,6 +1055,12 @@ class Misc:
if k[-1] == '_': k = k[:-1] if k[-1] == '_': k = k[:-1]
if callable(v): if callable(v):
v = self._register(v) v = self._register(v)
elif isinstance(v, (tuple, list)):
for item in v:
if not isinstance(item, (basestring, int)):
break
else:
v = ' '.join(map(str, v))
res = res + ('-'+k, v) res = res + ('-'+k, v)
return res return res
def nametowidget(self, name): def nametowidget(self, name):
...@@ -1094,7 +1100,6 @@ class Misc: ...@@ -1094,7 +1100,6 @@ class Misc:
if self._tclCommands is None: if self._tclCommands is None:
self._tclCommands = [] self._tclCommands = []
self._tclCommands.append(name) self._tclCommands.append(name)
#print '+ Tkinter created command', name
return name return name
register = _register register = _register
def _root(self): def _root(self):
...@@ -1747,10 +1752,11 @@ class Pack: ...@@ -1747,10 +1752,11 @@ class Pack:
after=widget - pack it after you have packed widget after=widget - pack it after you have packed widget
anchor=NSEW (or subset) - position widget according to anchor=NSEW (or subset) - position widget according to
given direction given direction
before=widget - pack it before you will pack widget before=widget - pack it before you will pack widget
expand=bool - expand widget if parent size grows expand=bool - expand widget if parent size grows
fill=NONE or X or Y or BOTH - fill widget if widget grows fill=NONE or X or Y or BOTH - fill widget if widget grows
in=master - use master to contain this widget in=master - use master to contain this widget
in_=master - see 'in' option description
ipadx=amount - add internal padding in x direction ipadx=amount - add internal padding in x direction
ipady=amount - add internal padding in y direction ipady=amount - add internal padding in y direction
padx=amount - add padding in x direction padx=amount - add padding in x direction
...@@ -1788,29 +1794,26 @@ class Place: ...@@ -1788,29 +1794,26 @@ class Place:
Base class to use the methods place_* in every widget.""" Base class to use the methods place_* in every widget."""
def place_configure(self, cnf={}, **kw): def place_configure(self, cnf={}, **kw):
"""Place a widget in the parent widget. Use as options: """Place a widget in the parent widget. Use as options:
in=master - master relative to which the widget is placed. in=master - master relative to which the widget is placed
in_=master - see 'in' option description
x=amount - locate anchor of this widget at position x of master x=amount - locate anchor of this widget at position x of master
y=amount - locate anchor of this widget at position y of master y=amount - locate anchor of this widget at position y of master
relx=amount - locate anchor of this widget between 0.0 and 1.0 relx=amount - locate anchor of this widget between 0.0 and 1.0
relative to width of master (1.0 is right edge) relative to width of master (1.0 is right edge)
rely=amount - locate anchor of this widget between 0.0 and 1.0 rely=amount - locate anchor of this widget between 0.0 and 1.0
relative to height of master (1.0 is bottom edge) relative to height of master (1.0 is bottom edge)
anchor=NSEW (or subset) - position anchor according to given direction anchor=NSEW (or subset) - position anchor according to given direction
width=amount - width of this widget in pixel width=amount - width of this widget in pixel
height=amount - height of this widget in pixel height=amount - height of this widget in pixel
relwidth=amount - width of this widget between 0.0 and 1.0 relwidth=amount - width of this widget between 0.0 and 1.0
relative to width of master (1.0 is the same width relative to width of master (1.0 is the same width
as the master) as the master)
relheight=amount - height of this widget between 0.0 and 1.0 relheight=amount - height of this widget between 0.0 and 1.0
relative to height of master (1.0 is the same relative to height of master (1.0 is the same
height as the master) height as the master)
bordermode="inside" or "outside" - whether to take border width of master widget bordermode="inside" or "outside" - whether to take border width of
into account master widget into account
""" """
for k in ['in_']:
if kw.has_key(k):
kw[k[:-1]] = kw[k]
del kw[k]
self.tk.call( self.tk.call(
('place', 'configure', self._w) ('place', 'configure', self._w)
+ self._options(cnf, kw)) + self._options(cnf, kw))
...@@ -1845,6 +1848,7 @@ class Grid: ...@@ -1845,6 +1848,7 @@ class Grid:
column=number - use cell identified with given column (starting with 0) column=number - use cell identified with given column (starting with 0)
columnspan=number - this widget will span several columns columnspan=number - this widget will span several columns
in=master - use master to contain this widget in=master - use master to contain this widget
in_=master - see 'in' option description
ipadx=amount - add internal padding in x direction ipadx=amount - add internal padding in x direction
ipady=amount - add internal padding in y direction ipady=amount - add internal padding in y direction
padx=amount - add padding in x direction padx=amount - add padding in x direction
......
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