summaryrefslogtreecommitdiffstats
path: root/Tools/pynche/StripViewer.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/pynche/StripViewer.py')
-rw-r--r--Tools/pynche/StripViewer.py226
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)