@@ -126,13 +126,14 @@ def __init__(self, switchboard,
126126 numchips = _NUMCHIPS ,
127127 generator = None ,
128128 axis = None ,
129- label = '' ):
129+ label = '' ,
130+ uwdvar = None ):
130131 # instance variables
131132 self .__generator = generator
132133 self .__axis = axis
133134 self .__numchips = numchips
134135 assert self .__axis in (0 , 1 , 2 )
135- self .__update_while_dragging = 0
136+ self .__uwd = uwdvar
136137 # the last chip selected
137138 self .__lastchip = None
138139 self .__sb = switchboard
@@ -202,7 +203,7 @@ def __select_chip(self, event=None):
202203 color = self .__chips [chip [0 ]- 1 ]
203204 red , green , blue = ColorDB .rrggbb_to_triplet (color )
204205 etype = int (event .type )
205- if (etype == BTNUP or self .__update_while_dragging ):
206+ if (etype == BTNUP or self .__uwd . get () ):
206207 # update everyone
207208 self .__sb .update_views (red , green , blue )
208209 else :
@@ -259,31 +260,35 @@ def update_yourself(self, red, green, blue):
259260 # move the arrows around
260261 self .__trackarrow (chip , (red , green , blue ))
261262
262- def set_update_while_dragging (self , flag ):
263- self .__update_while_dragging = flag
264-
265-
266263
267264class StripViewer :
268265 def __init__ (self , switchboard , parent = None ):
269266 self .__sb = switchboard
270267 # create a frame inside the parent
271- self .__frame = Frame (parent )
268+ self .__frame = Frame (parent , relief = GROOVE , borderwidth = 2 )
272269 self .__frame .pack ()
270+ uwd = BooleanVar ()
273271 self .__reds = StripWidget (switchboard , self .__frame ,
274272 generator = constant_cyan_generator ,
275273 axis = 0 ,
276- label = 'Red Variations' )
274+ label = 'Red Variations' ,
275+ uwdvar = uwd )
277276
278277 self .__greens = StripWidget (switchboard , self .__frame ,
279278 generator = constant_magenta_generator ,
280279 axis = 1 ,
281- label = 'Green Variations' )
280+ label = 'Green Variations' ,
281+ uwdvar = uwd )
282282
283283 self .__blues = StripWidget (switchboard , self .__frame ,
284284 generator = constant_yellow_generator ,
285285 axis = 2 ,
286- label = 'Blue Variations' )
286+ label = 'Blue Variations' ,
287+ uwdvar = uwd )
288+ self .__uwd = Checkbutton (self .__frame ,
289+ text = 'Update while dragging' ,
290+ variable = uwd )
291+ self .__uwd .pack ()
287292
288293 def update_yourself (self , red , green , blue ):
289294 self .__reds .update_yourself (red , green , blue )
0 commit comments