Patch #426880: Implement Listbox itemcget and itemconfigure.

This commit is contained in:
Martin v. Löwis 2001-10-01 10:09:31 +00:00
parent 0daad598d0
commit 2fa69d7984
2 changed files with 27 additions and 0 deletions

View File

@ -2299,6 +2299,31 @@ class Listbox(Widget):
i = self.tk.call(self._w, 'index', index)
if i == 'none': return None
return getint(i)
def itemcget(self, index, option):
"""Return the resource value for an ITEM and an OPTION."""
return self.tk.call(
(self._w, 'itemcget') + (index, '-'+option))
def itemconfigure(self, index, cnf=None, **kw):
"""Configure resources of an ITEM.
The values for resources are specified as keyword arguments.
To get an overview about the allowed keyword arguments
call the method without arguments.
Valid resource names: background, foreground,
selectbackground, selectforeground."""
if cnf is None and not kw:
cnf = {}
for x in self.tk.split(
self.tk.call(self._w, 'itemconfigure', index)):
cnf[x[0][1:]] = (x[0][1:],) + x[1:]
return cnf
if type(cnf) == StringType and not kw:
x = self.tk.split(self.tk.call(
self._w, 'itemconfigure', index, '-'+cnf))
return (x[0][1:],) + x[1:]
self.tk.call((self._w, 'itemconfigure', index) +
self._options(cnf, kw))
itemconfig = itemconfigure
def insert(self, index, *elements):
"""Insert ELEMENTS at INDEX."""
self.tk.call((self._w, 'insert', index) + elements)

View File

@ -15,6 +15,8 @@ Library
- quopri's encode and decode methods take an optional header parameter,
which indicates whether output is intended for the header 'Q' encoding.
- Tkinter.Listbox now exposes itemcget and itemconfigure.
Tools
Build