Show More
@@ -192,14 +192,14 b' class link(object):' | |||||
192 | raise TypeError('At least two traitlets must be provided.') |
|
192 | raise TypeError('At least two traitlets must be provided.') | |
193 |
|
193 | |||
194 | self.objects = {} |
|
194 | self.objects = {} | |
|
195 | ||||
195 | initial = getattr(args[0][0], args[0][1]) |
|
196 | initial = getattr(args[0][0], args[0][1]) | |
196 | for obj,attr in args: |
|
197 | for obj, attr in args: | |
197 |
|
|
198 | setattr(obj, attr, initial) | |
198 | setattr(obj, attr, initial) |
|
|||
199 |
|
199 | |||
200 | callback = self._make_closure(obj,attr) |
|
200 | callback = self._make_closure(obj, attr) | |
201 | obj.on_trait_change(callback, attr) |
|
201 | obj.on_trait_change(callback, attr) | |
202 | self.objects[(obj,attr)] = callback |
|
202 | self.objects[(obj, attr)] = callback | |
203 |
|
203 | |||
204 | @contextlib.contextmanager |
|
204 | @contextlib.contextmanager | |
205 | def _busy_updating(self): |
|
205 | def _busy_updating(self): | |
@@ -218,13 +218,12 b' class link(object):' | |||||
218 | if self.updating: |
|
218 | if self.updating: | |
219 | return |
|
219 | return | |
220 | with self._busy_updating(): |
|
220 | with self._busy_updating(): | |
221 | for obj,attr in self.objects.keys(): |
|
221 | for obj, attr in self.objects.keys(): | |
222 | if obj is not sending_obj or attr != sending_attr: |
|
222 | setattr(obj, attr, new) | |
223 | setattr(obj, attr, new) |
|
223 | ||
224 |
|
||||
225 | def unlink(self): |
|
224 | def unlink(self): | |
226 | for key, callback in self.objects.items(): |
|
225 | for key, callback in self.objects.items(): | |
227 | (obj,attr) = key |
|
226 | (obj, attr) = key | |
228 | obj.on_trait_change(callback, attr, remove=True) |
|
227 | obj.on_trait_change(callback, attr, remove=True) | |
229 |
|
228 | |||
230 | @skip_doctest |
|
229 | @skip_doctest | |
@@ -252,8 +251,7 b' class directional_link(object):' | |||||
252 | # Update current value |
|
251 | # Update current value | |
253 | src_attr_value = getattr(source[0], source[1]) |
|
252 | src_attr_value = getattr(source[0], source[1]) | |
254 | for obj, attr in targets: |
|
253 | for obj, attr in targets: | |
255 |
|
|
254 | setattr(obj, attr, src_attr_value) | |
256 | setattr(obj, attr, src_attr_value) |
|
|||
257 |
|
255 | |||
258 | # Wire |
|
256 | # Wire | |
259 | self.source[0].on_trait_change(self._update, self.source[1]) |
|
257 | self.source[0].on_trait_change(self._update, self.source[1]) |
General Comments 0
You need to be logged in to leave comments.
Login now