(self, instance, value, type=None)
| 212 | return getattr(instance, self._prop_name).get() |
| 213 | |
| 214 | def __set__(self, instance, value, type=None): |
| 215 | property = getattr(instance, self._prop_name) |
| 216 | old_value = property.get() |
| 217 | property.set(value) |
| 218 | |
| 219 | if old_value != value: |
| 220 | if hasattr(instance, '_listeners'): |
| 221 | for listener in instance._listeners: |
| 222 | listener(self._field_name, old_value, value) |
| 223 | |
| 224 | setattr(cls, prop_name, ObservableProperty(prop_name)) |
| 225 | setattr(cls, field_name, ObservableValueProperty(prop_name, field_name)) |