/usr/lib64/python2.7/site-packages/pynche
NameSizeModeActions
X/-0755rm
ChipViewer.py49980644editdlrm
ChipViewer.pyc54990644editdlrm
ChipViewer.pyo54990644editdlrm
ColorDB.py89410644editdlrm
ColorDB.pyc96920644editdlrm
ColorDB.pyo96920644editdlrm
DetailsViewer.py101160644editdlrm
DetailsViewer.pyc105710644editdlrm
DetailsViewer.pyo105710644editdlrm
html40colors.txt2450644editdlrm
ListViewer.py66480644editdlrm
ListViewer.pyc71940644editdlrm
ListViewer.pyo71940644editdlrm
Main.py64000644editdlrm
Main.pyc62840644editdlrm
Main.pyo62840644editdlrm
namedcolors.txt57160644editdlrm
pyColorChooser.py37680644editdlrm
pyColorChooser.pyc44240644editdlrm
pyColorChooser.pyo44240644editdlrm
pynche1820755editdlrm
PyncheWidget.py105010644editdlrm
PyncheWidget.pyc111000644editdlrm
PyncheWidget.pyo111000644editdlrm
README157840644editdlrm
StripViewer.py154650644editdlrm
StripViewer.pyc138630644editdlrm
StripViewer.pyo137170644editdlrm
Switchboard.py48170644editdlrm
Switchboard.pyc60650644editdlrm
Switchboard.pyo60650644editdlrm
TextViewer.py68690644editdlrm
TextViewer.pyc73590644editdlrm
TextViewer.pyo73590644editdlrm
TypeinViewer.py61020644editdlrm
TypeinViewer.pyc64110644editdlrm
TypeinViewer.pyo64110644editdlrm
webcolors.txt30880644editdlrm
websafe.txt17490644editdlrm
__init__.py470644editdlrm
__init__.pyc1400644editdlrm
__init__.pyo1400644editdlrm
Edit: /usr/lib64/python2.7/site-packages/pynche/ChipViewer.py (4998B)
"""Chip viewer and widget. In the lower left corner of the main Pynche window, you will see two ChipWidgets, one for the selected color and one for the nearest color. The selected color is the actual RGB value expressed as an X11 #COLOR name. The nearest color is the named color from the X11 database that is closest to the selected color in 3D space. There may be other colors equally close, but the nearest one is the first one found. Clicking on the nearest color chip selects that named color. The ChipViewer class includes the entire lower left quandrant; i.e. both the selected and nearest ChipWidgets. """ from Tkinter import * import ColorDB class ChipWidget: _WIDTH = 150 _HEIGHT = 80 def __init__(self, master = None, width = _WIDTH, height = _HEIGHT, text = 'Color', initialcolor = 'blue', presscmd = None, releasecmd = None): # create the text label self.__label = Label(master, text=text) self.__label.grid(row=0, column=0) # create the color chip, implemented as a frame self.__chip = Frame(master, relief=RAISED, borderwidth=2, width=width, height=height, background=initialcolor) self.__chip.grid(row=1, column=0) # create the color name self.__namevar = StringVar() self.__namevar.set(initialcolor) self.__name = Entry(master, textvariable=self.__namevar, relief=FLAT, justify=CENTER, state=DISABLED, font=self.__label['font']) self.__name.grid(row=2, column=0) # create the message area self.__msgvar = StringVar() self.__name = Entry(master, textvariable=self.__msgvar, relief=FLAT, justify=CENTER, state=DISABLED, font=self.__label['font']) self.__name.grid(row=3, column=0) # set bindings if presscmd: self.__chip.bind('', presscmd) if releasecmd: self.__chip.bind('', releasecmd) def set_color(self, color): self.__chip.config(background=color) def get_color(self): return self.__chip['background'] def set_name(self, colorname): self.__namevar.set(colorname) def set_message(self, message): self.__msgvar.set(message) def press(self): self.__chip.configure(relief=SUNKEN) def release(self): self.__chip.configure(relief=RAISED) class ChipViewer: def __init__(self, switchboard, master=None): self.__sb = switchboard self.__frame = Frame(master, relief=RAISED, borderwidth=1) self.__frame.grid(row=3, column=0, ipadx=5, sticky='NSEW') # create the chip that will display the currently selected color # exactly self.__sframe = Frame(self.__frame) self.__sframe.grid(row=0, column=0) self.__selected = ChipWidget(self.__sframe, text='Selected') # create the chip that will display the nearest real X11 color # database color name self.__nframe = Frame(self.__frame) self.__nframe.grid(row=0, column=1) self.__nearest = ChipWidget(self.__nframe, text='Nearest', presscmd = self.__buttonpress, releasecmd = self.__buttonrelease) def update_yourself(self, red, green, blue): # Selected always shows the #rrggbb name of the color, nearest always # shows the name of the nearest color in the database. BAW: should # an exact match be indicated in some way? # # Always use the #rrggbb style to actually set the color, since we may # not be using X color names (e.g. "web-safe" names) colordb = self.__sb.colordb() rgbtuple = (red, green, blue) rrggbb = ColorDB.triplet_to_rrggbb(rgbtuple) # find the nearest nearest = colordb.nearest(red, green, blue) nearest_tuple = colordb.find_byname(nearest) nearest_rrggbb = ColorDB.triplet_to_rrggbb(nearest_tuple) self.__selected.set_color(rrggbb) self.__nearest.set_color(nearest_rrggbb) # set the name and messages areas self.__selected.set_name(rrggbb) if rrggbb == nearest_rrggbb: self.__selected.set_message(nearest) else: self.__selected.set_message('') self.__nearest.set_name(nearest_rrggbb) self.__nearest.set_message(nearest) def __buttonpress(self, event=None): self.__nearest.press() def __buttonrelease(self, event=None): self.__nearest.release() rrggbb = self.__nearest.get_color() red, green, blue = ColorDB.rrggbb_to_triplet(rrggbb) self.__sb.update_views(red, green, blue)