diff options
-rw-r--r-- | Tools/pynche/PyncheWidget.py | 38 |
1 files changed, 30 insertions, 8 deletions
diff --git a/Tools/pynche/PyncheWidget.py b/Tools/pynche/PyncheWidget.py index 73cbd37..b4b5ad7 100644 --- a/Tools/pynche/PyncheWidget.py +++ b/Tools/pynche/PyncheWidget.py @@ -7,7 +7,7 @@ import ColorDB from ChipWidget import ChipWidget from TypeinWidget import TypeinWidget from StripWidget import StripWidget -from OptionsWidget import OptionsWidget +from OptionsWidget import PyncheOptions @@ -114,11 +114,12 @@ class PyncheWidget(Pmw.MegaWidget): # create chip window group = Pmw.Group(parent, tag_text='Current Color') + interior = group.interior() group.pack(side=LEFT, expand=YES, fill=BOTH) - self.__selected = ChipWidget(group.interior(), + self.__selected = ChipWidget(interior, label_text='Selected') self.__selected.grid() - self.__nearest = ChipWidget(group.interior(), + self.__nearest = ChipWidget(interior, label_text='Nearest') self.__nearest.grid(row=0, column=1) @@ -128,10 +129,19 @@ class PyncheWidget(Pmw.MegaWidget): self.__chip.bind('<ButtonPress-1>', self.__buttonpress) self.__chip.bind('<ButtonRelease-1>', self.__buttonrelease) - # create the options window - self.__typein = TypeinWidget(group.interior()) + # create the type-in window + self.__typein = TypeinWidget(interior) self.__typein.grid(row=0, column=2) + # create the type-in color name field +## self.__colorname = self.createcomponent( +## 'colorname', (), None, +## Pmw.EntryField, (interior,), +## label_text='Color Name' +## ) +## self.__colorname.pack() +## self.__colorname.configure(command=self.__set_color_by_name()) + # Check keywords and initialize options self.initialiseoptions(PyncheWidget) @@ -173,6 +183,11 @@ class PyncheWidget(Pmw.MegaWidget): def __set_color(self): self.set_color(self, self['color']) + def __set_color_by_name(self): + colorname = self.__colorname.get() + rgbtuple = self.__colordb.find_byname(colorname) + self.set_color(self, rgbtuple) + def __buttonpress(self, event=None): self.__chip.configure(relief=SUNKEN) @@ -200,8 +215,15 @@ class PyncheWidget(Pmw.MegaWidget): def __popup_options(self, event=None): if not self.__options_dialog: - self.__options_dialog = OptionsWidget() - self.__options_dialog.activate() - # now gather up the new options + self.__options_dialog = PyncheOptions( + title='Pynche Options', + applycommand=self.__apply) + # pop up the window, non-modal + self.__options_dialog.deiconify() + + def __apply(self): self.__typein.set_update_on_typing( self.__options_dialog.get_value('typing')) + flag = self.__options_dialog.get_value('dragging') + for strip in (self.__reds, self.__greens, self.__blues): + strip.set_update_while_dragging(flag) |