Show More
@@ -359,6 +359,13 b' class TraitType(object):' | |||||
359 | def decorate(self, obj): |
|
359 | def decorate(self, obj): | |
360 | pass |
|
360 | pass | |
361 |
|
361 | |||
|
362 | def static_init(self, obj): | |||
|
363 | # We didn't find one. Do static initialization. | |||
|
364 | value = self.get_default_value() | |||
|
365 | value = self._validate(obj, value) | |||
|
366 | obj._trait_values[self.name] = value | |||
|
367 | return value | |||
|
368 | ||||
362 | def instance_init(self, obj): |
|
369 | def instance_init(self, obj): | |
363 | """This is called by :meth:`HasTraits.__new__` to finish init'ing. |
|
370 | """This is called by :meth:`HasTraits.__new__` to finish init'ing. | |
364 |
|
371 | |||
@@ -395,10 +402,7 b' class TraitType(object):' | |||||
395 | if meth_name in cls.__dict__: |
|
402 | if meth_name in cls.__dict__: | |
396 | break |
|
403 | break | |
397 | else: |
|
404 | else: | |
398 | # We didn't find one. Do static initialization. |
|
405 | self.static_init(obj) | |
399 | dv = self.get_default_value() |
|
|||
400 | newdv = self._validate(obj, dv) |
|
|||
401 | obj._trait_values[self.name] = newdv |
|
|||
402 | return |
|
406 | return | |
403 | # Complete the dynamic initialization. |
|
407 | # Complete the dynamic initialization. | |
404 | obj._trait_dyn_inits[self.name] = meth_name |
|
408 | obj._trait_dyn_inits[self.name] = meth_name | |
@@ -426,9 +430,7 b' class TraitType(object):' | |||||
426 | obj._trait_values[self.name] = value |
|
430 | obj._trait_values[self.name] = value | |
427 | return value |
|
431 | return value | |
428 | else: |
|
432 | else: | |
429 | raise TraitError('Unexpected error in TraitType: ' |
|
433 | return self.static_init(obj) | |
430 | 'both default value and dynamic initializer are ' |
|
|||
431 | 'absent.') |
|
|||
432 | except Exception: |
|
434 | except Exception: | |
433 | # HasTraits should call set_default_value to populate |
|
435 | # HasTraits should call set_default_value to populate | |
434 | # this. So this should never be reached. |
|
436 | # this. So this should never be reached. |
General Comments 0
You need to be logged in to leave comments.
Login now