From 458120dd40db6b4df55a4e96b650e16798ef06a0 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Tue, 3 May 2011 11:25:13 +0000 Subject: add hg and python --- sys/lib/python/lib-tk/tkColorChooser.py | 70 +++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 sys/lib/python/lib-tk/tkColorChooser.py (limited to 'sys/lib/python/lib-tk/tkColorChooser.py') diff --git a/sys/lib/python/lib-tk/tkColorChooser.py b/sys/lib/python/lib-tk/tkColorChooser.py new file mode 100644 index 000000000..a55a797dd --- /dev/null +++ b/sys/lib/python/lib-tk/tkColorChooser.py @@ -0,0 +1,70 @@ +# tk common colour chooser dialogue +# +# this module provides an interface to the native color dialogue +# available in Tk 4.2 and newer. +# +# written by Fredrik Lundh, May 1997 +# +# fixed initialcolor handling in August 1998 +# + +# +# options (all have default values): +# +# - initialcolor: colour to mark as selected when dialog is displayed +# (given as an RGB triplet or a Tk color string) +# +# - parent: which window to place the dialog on top of +# +# - title: dialog title +# + +from tkCommonDialog import Dialog + + +# +# color chooser class + +class Chooser(Dialog): + "Ask for a color" + + command = "tk_chooseColor" + + def _fixoptions(self): + try: + # make sure initialcolor is a tk color string + color = self.options["initialcolor"] + if type(color) == type(()): + # assume an RGB triplet + self.options["initialcolor"] = "#%02x%02x%02x" % color + except KeyError: + pass + + def _fixresult(self, widget, result): + # 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 + + +# +# convenience stuff + +def askcolor(color = None, **options): + "Ask for a color" + + if color: + options = options.copy() + options["initialcolor"] = color + + return Chooser(**options).show() + + +# -------------------------------------------------------------------- +# test stuff + +if __name__ == "__main__": + + print "color", askcolor() -- cgit v1.2.3