mirror of
https://github.com/python/cpython.git
synced 2025-08-03 00:23:06 +00:00
Initial revision
This commit is contained in:
parent
9f4d73a9cf
commit
fefbf79ea4
1 changed files with 51 additions and 0 deletions
51
Tools/pynche/PyncheWidget.py
Normal file
51
Tools/pynche/PyncheWidget.py
Normal file
|
@ -0,0 +1,51 @@
|
|||
"""Main Pynche (Pythonically Natural Color and Hue Editor) widget.
|
||||
"""
|
||||
|
||||
from Tkinter import *
|
||||
import Pmw
|
||||
import ColorDB
|
||||
from ChipWidget import ChipWidget
|
||||
|
||||
class PyncheWidget(Pmw.MegaWidget):
|
||||
def __init__(self, colordb, parent=None, **kw):
|
||||
self.__colordb = colordb
|
||||
|
||||
optionsdefs = (('color', 'grey50', self.__set_color),)
|
||||
self.defineoptions(kw, optionsdefs)
|
||||
|
||||
# initialize base class -- after defining options
|
||||
Pmw.MegaWidget.__init__(self, parent)
|
||||
interiorarg = (self.interior(),)
|
||||
|
||||
# create color selectors
|
||||
self.__selectors = Pmw.Group(parent, tag_text='Color Selectors')
|
||||
self.__selectors.pack(side=TOP, expand=YES, fill=BOTH)
|
||||
|
||||
# create chip window
|
||||
group = Pmw.Group(parent, tag_text='Current Color')
|
||||
group.pack(side=LEFT, fill=Y)
|
||||
self.__selected = ChipWidget(group.interior(),
|
||||
label_text='Selected')
|
||||
self.__selected.grid()
|
||||
self.__nearest = ChipWidget(group.interior(),
|
||||
label_text='Nearest')
|
||||
self.__nearest.grid(row=0, column=1)
|
||||
|
||||
# create the options window
|
||||
options = Pmw.Group(parent, tag_text='Options')
|
||||
options.pack(expand=YES, fill=BOTH)
|
||||
|
||||
# Check keywords and initialize options
|
||||
self.initialiseoptions(PyncheWidget)
|
||||
|
||||
|
||||
def __set_color(self):
|
||||
color = self['color']
|
||||
try:
|
||||
red, green, blue, rrggbb = self.__colordb.find_byname(color)
|
||||
except ColorDB.BadColor:
|
||||
red, green, blue = ColorDB.rrggbb_to_triplet(color)
|
||||
|
||||
nearest = self.__colordb.nearest(red, green, blue)
|
||||
self.__selected.configure(color=color)
|
||||
self.__nearest.configure(color=nearest)
|
Loading…
Add table
Add a link
Reference in a new issue