class A(object): t = trait() y = trait() @y.changed() def y_changed(self, event): self.seen_y = True
class A(object): b = trait(instance=B) bt_count = 0 @b.t.changed() def t_changed(self, event): self.bt_count += 1
class B(object): t = trait() t_count = 0 @t.changed() def t_changed(self, event): self.t_count += 1
class B(object): c = trait(instance=C) @c.changed() def c_changed(self, event): self.b_seen_c = True def __init__(self): self.b_seen_c = False self.a_seen_c = False init_events(self)
class A(object): b = trait(instance=B) c = b.c def __init__(self, b): self.b_seen_c = False self.a_seen_c = False init_events(self) self.b = b @b.c.changed() def c_changed(self, event): self.a_seen_c = True
class A(object): y = trait() seen_y_error = False @y.setter def y(self, value): self._y = value raise MyExc() @y.changed() def y_changed(self, event): self.seen_y = True @y.error() def y_error(self, event): self.seen_y_error = True
class C(object): d = trait() @d.changed() def d_changed(self, event): self.c_seen_d = True