diff options
Diffstat (limited to 'Tools/pynche/StripViewer.py')
-rw-r--r-- | Tools/pynche/StripViewer.py | 226 |
1 files changed, 113 insertions, 113 deletions
diff --git a/Tools/pynche/StripViewer.py b/Tools/pynche/StripViewer.py index b190482..429cc78 100644 --- a/Tools/pynche/StripViewer.py +++ b/Tools/pynche/StripViewer.py @@ -35,7 +35,7 @@ proc setcolor {canv colors} { set i 1 foreach c $colors { $canv itemconfigure $i -fill $c -outline $c - incr i + incr i } } ''' @@ -54,9 +54,9 @@ def constant(numchips): start = 0.0 seq = [] while numchips > 0: - seq.append(int(start)) - start = start + step - numchips = numchips - 1 + seq.append(int(start)) + start = start + step + numchips = numchips - 1 return seq # red variations, green+blue = cyan constant @@ -99,61 +99,61 @@ class LeftArrow: _TAG = ('leftarrow',) def __init__(self, canvas, x): - self._canvas = canvas - self.__arrow, self.__text = self._create(x) - self.move_to(x) + self._canvas = canvas + self.__arrow, self.__text = self._create(x) + self.move_to(x) def _create(self, x): - arrow = self._canvas.create_line( - x, self._ARROWHEIGHT + self._YOFFSET, - x, self._YOFFSET, - x + self._ARROWWIDTH, self._YOFFSET, - arrow='first', - width=3.0, - tags=self._TAG) - text = self._canvas.create_text( - x + self._ARROWWIDTH + 13, - self._ARROWHEIGHT - self._TEXTYOFFSET, - tags=self._TAG, - text='128') - return arrow, text + arrow = self._canvas.create_line( + x, self._ARROWHEIGHT + self._YOFFSET, + x, self._YOFFSET, + x + self._ARROWWIDTH, self._YOFFSET, + arrow='first', + width=3.0, + tags=self._TAG) + text = self._canvas.create_text( + x + self._ARROWWIDTH + 13, + self._ARROWHEIGHT - self._TEXTYOFFSET, + tags=self._TAG, + text='128') + return arrow, text def _x(self): - coords = self._canvas.coords(self._TAG) - assert coords - return coords[0] + coords = self._canvas.coords(self._TAG) + assert coords + return coords[0] def move_to(self, x): - deltax = x - self._x() - self._canvas.move(self._TAG, deltax, 0) + deltax = x - self._x() + self._canvas.move(self._TAG, deltax, 0) def set_text(self, text): - self._canvas.itemconfigure(self.__text, text=text) + self._canvas.itemconfigure(self.__text, text=text) class RightArrow(LeftArrow): _TAG = ('rightarrow',) def _create(self, x): - arrow = self._canvas.create_line( - x, self._YOFFSET, - x + self._ARROWWIDTH, self._YOFFSET, - x + self._ARROWWIDTH, self._ARROWHEIGHT + self._YOFFSET, - arrow='last', - width=3.0, - tags=self._TAG) - text = self._canvas.create_text( - x - self._ARROWWIDTH + 15, # BAW: kludge - self._ARROWHEIGHT - self._TEXTYOFFSET, + arrow = self._canvas.create_line( + x, self._YOFFSET, + x + self._ARROWWIDTH, self._YOFFSET, + x + self._ARROWWIDTH, self._ARROWHEIGHT + self._YOFFSET, + arrow='last', + width=3.0, + tags=self._TAG) + text = self._canvas.create_text( + x - self._ARROWWIDTH + 15, # BAW: kludge + self._ARROWHEIGHT - self._TEXTYOFFSET, justify=RIGHT, - text='128', - tags=self._TAG) - return arrow, text + text='128', + tags=self._TAG) + return arrow, text def _x(self): - coords = self._canvas.bbox(self._TAG) - assert coords - return coords[2] - 6 # BAW: kludge + coords = self._canvas.bbox(self._TAG) + assert coords + return coords[2] - 6 # BAW: kludge @@ -173,68 +173,68 @@ class StripWidget: uwdvar = None, hexvar = None): # instance variables - self.__generator = generator - self.__axis = axis + self.__generator = generator + self.__axis = axis self.__numchips = numchips - assert self.__axis in (0, 1, 2) - self.__uwd = uwdvar + assert self.__axis in (0, 1, 2) + self.__uwd = uwdvar self.__hexp = hexvar # the last chip selected self.__lastchip = None self.__sb = switchboard - canvaswidth = numchips * (chipwidth + 1) - canvasheight = chipheight + 43 # BAW: Kludge + canvaswidth = numchips * (chipwidth + 1) + canvasheight = chipheight + 43 # BAW: Kludge - # create the canvas and pack it - canvas = self.__canvas = Canvas(master, + # create the canvas and pack it + canvas = self.__canvas = Canvas(master, width=canvaswidth, height=canvasheight, ## borderwidth=2, ## relief=GROOVE ) - canvas.pack() - canvas.bind('<ButtonPress-1>', self.__select_chip) - canvas.bind('<ButtonRelease-1>', self.__select_chip) - canvas.bind('<B1-Motion>', self.__select_chip) - - # Load a proc into the Tcl interpreter. This is used in the - # set_color() method to speed up setting the chip colors. - canvas.tk.eval(TCLPROC) - - # create the color strip - chips = self.__chips = [] - x = 1 - y = 30 - tags = ('chip',) - for c in range(self.__numchips): - color = 'grey' - canvas.create_rectangle( - x, y, x+chipwidth, y+chipheight, - fill=color, outline=color, - tags=tags) - x = x + chipwidth + 1 # for outline - chips.append(color) - - # create the strip label - self.__label = canvas.create_text( - 3, y + chipheight + 8, - text=label, - anchor=W) - - # create the arrow and text item - chipx = self.__arrow_x(0) - self.__leftarrow = LeftArrow(canvas, chipx) - - chipx = self.__arrow_x(len(chips) - 1) - self.__rightarrow = RightArrow(canvas, chipx) + canvas.pack() + canvas.bind('<ButtonPress-1>', self.__select_chip) + canvas.bind('<ButtonRelease-1>', self.__select_chip) + canvas.bind('<B1-Motion>', self.__select_chip) + + # Load a proc into the Tcl interpreter. This is used in the + # set_color() method to speed up setting the chip colors. + canvas.tk.eval(TCLPROC) + + # create the color strip + chips = self.__chips = [] + x = 1 + y = 30 + tags = ('chip',) + for c in range(self.__numchips): + color = 'grey' + canvas.create_rectangle( + x, y, x+chipwidth, y+chipheight, + fill=color, outline=color, + tags=tags) + x = x + chipwidth + 1 # for outline + chips.append(color) + + # create the strip label + self.__label = canvas.create_text( + 3, y + chipheight + 8, + text=label, + anchor=W) + + # create the arrow and text item + chipx = self.__arrow_x(0) + self.__leftarrow = LeftArrow(canvas, chipx) + + chipx = self.__arrow_x(len(chips) - 1) + self.__rightarrow = RightArrow(canvas, chipx) def __arrow_x(self, chipnum): - coords = self.__canvas.coords(chipnum+1) - assert coords - x0, y0, x1, y1 = coords - return (x1 + x0) / 2.0 + coords = self.__canvas.coords(chipnum+1) + assert coords + x0, y0, x1, y1 = coords + return (x1 + x0) / 2.0 # Invoked when one of the chips is clicked. This should just tell the # switchboard to set the color on all the output components @@ -260,40 +260,40 @@ class StripWidget: color = self.__canvas.itemcget(self.__lastchip, 'fill') self.__canvas.itemconfigure(self.__lastchip, outline=color) self.__lastchip = chip - # get the arrow's text - coloraxis = rgbtuple[self.__axis] + # get the arrow's text + coloraxis = rgbtuple[self.__axis] if self.__hexp.get(): # hex text = hex(coloraxis) else: # decimal text = repr(coloraxis) - # move the arrow, and set it's text - if coloraxis <= 128: - # use the left arrow - self.__leftarrow.set_text(text) - self.__leftarrow.move_to(self.__arrow_x(chip-1)) - self.__rightarrow.move_to(-100) - else: - # use the right arrow - self.__rightarrow.set_text(text) - self.__rightarrow.move_to(self.__arrow_x(chip-1)) - self.__leftarrow.move_to(-100) - # and set the chip's outline + # move the arrow, and set it's text + if coloraxis <= 128: + # use the left arrow + self.__leftarrow.set_text(text) + self.__leftarrow.move_to(self.__arrow_x(chip-1)) + self.__rightarrow.move_to(-100) + else: + # use the right arrow + self.__rightarrow.set_text(text) + self.__rightarrow.move_to(self.__arrow_x(chip-1)) + self.__leftarrow.move_to(-100) + # and set the chip's outline brightness = ColorDB.triplet_to_brightness(rgbtuple) - if brightness <= 128: - outline = 'white' - else: - outline = 'black' - self.__canvas.itemconfigure(chip, outline=outline) + if brightness <= 128: + outline = 'white' + else: + outline = 'black' + self.__canvas.itemconfigure(chip, outline=outline) def update_yourself(self, red, green, blue): - assert self.__generator - i = 1 - chip = 0 - chips = self.__chips = [] - tk = self.__canvas.tk + assert self.__generator + i = 1 + chip = 0 + chips = self.__chips = [] + tk = self.__canvas.tk # get the red, green, and blue components for all chips for t in self.__generator(self.__numchips, red, green, blue): rrggbb = ColorDB.triplet_to_rrggbb(t) |