diff options
author | Barry Warsaw <barry@python.org> | 2022-04-17 15:38:44 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-17 15:38:44 -0700 |
commit | 7173fd5de0cb259b488828634745c03dbea94e6b (patch) | |
tree | 99896e93a25d1efb5394e740a188fd45dfe37583 /Tools/pynche/pyColorChooser.py | |
parent | ceea0715df33ae6dc3931670b4b749432d4e9707 (diff) | |
download | cpython-git-7173fd5de0cb259b488828634745c03dbea94e6b.tar.gz |
Remove the ancient Pynche color editor (#91554)
Closes #91551
Diffstat (limited to 'Tools/pynche/pyColorChooser.py')
-rw-r--r-- | Tools/pynche/pyColorChooser.py | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/Tools/pynche/pyColorChooser.py b/Tools/pynche/pyColorChooser.py deleted file mode 100644 index 3286047a5f..0000000000 --- a/Tools/pynche/pyColorChooser.py +++ /dev/null @@ -1,125 +0,0 @@ -"""Color chooser implementing (almost) the tkColorColor interface -""" - -import os -import Main -import ColorDB - - - -class Chooser: - """Ask for a color""" - def __init__(self, - master = None, - databasefile = None, - initfile = None, - ignore = None, - wantspec = None): - self.__master = master - self.__databasefile = databasefile - self.__initfile = initfile or os.path.expanduser('~/.pynche') - self.__ignore = ignore - self.__pw = None - self.__wantspec = wantspec - - def show(self, color, options): - # scan for options that can override the ctor options - self.__wantspec = options.get('wantspec', self.__wantspec) - dbfile = options.get('databasefile', self.__databasefile) - # load the database file - colordb = None - if dbfile != self.__databasefile: - colordb = ColorDB.get_colordb(dbfile) - if not self.__master: - from tkinter import Tk - self.__master = Tk() - if not self.__pw: - self.__pw, self.__sb = \ - Main.build(master = self.__master, - initfile = self.__initfile, - ignore = self.__ignore) - else: - self.__pw.deiconify() - # convert color - if colordb: - self.__sb.set_colordb(colordb) - else: - colordb = self.__sb.colordb() - if color: - r, g, b = Main.initial_color(color, colordb) - self.__sb.update_views(r, g, b) - # reset the canceled flag and run it - self.__sb.canceled(0) - Main.run(self.__pw, self.__sb) - rgbtuple = self.__sb.current_rgb() - self.__pw.withdraw() - # check to see if the cancel button was pushed - if self.__sb.canceled_p(): - return None, None - # Try to return the color name from the database if there is an exact - # match, otherwise use the "#rrggbb" spec. BAW: Forget about color - # aliases for now, maybe later we should return these too. - name = None - if not self.__wantspec: - try: - name = colordb.find_byrgb(rgbtuple)[0] - except ColorDB.BadColor: - pass - if name is None: - name = ColorDB.triplet_to_rrggbb(rgbtuple) - return rgbtuple, name - - def save(self): - if self.__sb: - self.__sb.save_views() - - -# convenience stuff -_chooser = None - -def askcolor(color = None, **options): - """Ask for a color""" - global _chooser - if not _chooser: - _chooser = Chooser(**options) - return _chooser.show(color, options) - -def save(): - global _chooser - if _chooser: - _chooser.save() - - -# test stuff -if __name__ == '__main__': - from tkinter import * - - class Tester: - def __init__(self): - self.__root = tk = Tk() - b = Button(tk, text='Choose Color...', command=self.__choose) - b.pack() - self.__l = Label(tk) - self.__l.pack() - q = Button(tk, text='Quit', command=self.__quit) - q.pack() - - def __choose(self, event=None): - rgb, name = askcolor(master=self.__root) - if rgb is None: - text = 'You hit CANCEL!' - else: - r, g, b = rgb - text = 'You picked %s (%3d/%3d/%3d)' % (name, r, g, b) - self.__l.configure(text=text) - - def __quit(self, event=None): - self.__root.quit() - - def run(self): - self.__root.mainloop() - t = Tester() - t.run() - # simpler -## print 'color:', askcolor() -## print 'color:', askcolor() |