From 918ae52c48d6b2795588652968d20e71eb160a3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Mon, 29 Dec 2008 16:23:43 +0000 Subject: Merged revisions 68010 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r68010 | martin.v.loewis | 2008-12-29 17:22:25 +0100 (Mo, 29 Dez 2008) | 2 lines Issue #3767: Convert Tk object to string in tkColorChooser. ........ --- Lib/lib-tk/tkColorChooser.py | 12 +++++++----- Misc/NEWS | 2 ++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Lib/lib-tk/tkColorChooser.py b/Lib/lib-tk/tkColorChooser.py index a55a797..cf6283b 100644 --- a/Lib/lib-tk/tkColorChooser.py +++ b/Lib/lib-tk/tkColorChooser.py @@ -34,19 +34,22 @@ class Chooser(Dialog): try: # make sure initialcolor is a tk color string color = self.options["initialcolor"] - if type(color) == type(()): + if isinstance(color, tuple): # assume an RGB triplet self.options["initialcolor"] = "#%02x%02x%02x" % color except KeyError: pass def _fixresult(self, widget, result): + # result can be somethings: an empty tuple, an empty string or + # a Tcl_Obj, so this somewhat weird check handles that + if not result or not str(result): + return None, None # canceled + # to simplify application code, the color chooser returns # an RGB tuple together with the Tk color string - if not result: - return None, None # canceled r, g, b = widget.winfo_rgb(result) - return (r/256, g/256, b/256), result + return (r/256, g/256, b/256), str(result) # @@ -66,5 +69,4 @@ def askcolor(color = None, **options): # test stuff if __name__ == "__main__": - print "color", askcolor() diff --git a/Misc/NEWS b/Misc/NEWS index eb2d19f..8c97ad2d 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -41,6 +41,8 @@ Core and Builtins Library ------- +- Issue #3767: Convert Tk object to string in tkColorChooser. + - Issue #3248: Allow placing ScrolledText in a PanedWindow. - Issue #3954: Fix a potential SystemError in _hotshot.logreader error -- cgit v0.12