diff options
author | Georg Brandl <georg@python.org> | 2008-05-17 18:28:57 +0000 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2008-05-17 18:28:57 +0000 |
commit | 330231238327558337b9d8dbabe3a3b02641501d (patch) | |
tree | ec8f070c5b823e470045eaad31eae2105dff48a1 /Lib/tkinter/colorchooser.py | |
parent | 094c4ffe5915bf2700be833bcf42c2e64b1dab69 (diff) | |
download | cpython-330231238327558337b9d8dbabe3a3b02641501d.tar.gz cpython-330231238327558337b9d8dbabe3a3b02641501d.zip |
Tkinter move, part 1: move modules.
Diffstat (limited to 'Lib/tkinter/colorchooser.py')
-rw-r--r-- | Lib/tkinter/colorchooser.py | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/Lib/tkinter/colorchooser.py b/Lib/tkinter/colorchooser.py new file mode 100644 index 00000000000..e3593ed24c8 --- /dev/null +++ b/Lib/tkinter/colorchooser.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()) |