From 2fa69d798498eb9d716e3d8e926745e5c1519727 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Mon, 1 Oct 2001 10:09:31 +0000 Subject: Patch #426880: Implement Listbox itemcget and itemconfigure. --- Lib/lib-tk/Tkinter.py | 25 +++++++++++++++++++++++++ Misc/NEWS | 2 ++ 2 files changed, 27 insertions(+) diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py index 2b04ee0..e72dbe5 100644 --- a/Lib/lib-tk/Tkinter.py +++ b/Lib/lib-tk/Tkinter.py @@ -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) diff --git a/Misc/NEWS b/Misc/NEWS index b7ccc86..d4daf27 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -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 -- cgit v0.12