Jump to revision: | |
---|---|
Author: | pje |
Date: | Wed Jun 18 18:27:39 2003 UTC (20 years, 10 months ago) |
Log Message:
All 'peak.binding' APIs now only accept positional parameters for items unique to that API. Items common to multiple APIs (such as 'offerAs', 'doc', 'attrName', etc.) should now be supplied as keyword arguments. Bindings also now automatically "suggest" the containing object as a parent component for the contained object, whenever a value is assigned to them or computed. If a non-None 'adaptTo' is set on the binding, the value assigned or computed will be adapted to the specified protocol before the parent component is suggested. 'binding.New()' no longer relies on the 'IComponentFactory' interface, but instead uses the new adapt/suggest mechanisms. Previously, parent components were only "suggested" when a binding was set via component constructor keyword arguments. Now, this is done at any time bindings are set, but *not* for non-binding keyword arguments. In other words, ordinary attributes of a component do not receive "suggested parent" notices, even when set via constructor keyword arguments. If you want an attribute to do this, you must define the attribute with the binding API; e.g. via 'requireBinding()' or 'binding.Constant()'.
Changed paths:
Path | Action | Text Changes | Prop Changes | Diff to Previous |
---|---|---|---|---|
PEAK/CHANGES.txt | modified | X | (diff to previous) | |
PEAK/TODO.txt | modified | X | (diff to previous) | |
PEAK/src/peak/binding/_once.c | modified | X | (diff to previous) | |
PEAK/src/peak/binding/_once.pyx | modified | X | (diff to previous) | |
PEAK/src/peak/binding/components.py | modified | X | (diff to previous) | |
PEAK/src/peak/binding/once.py | modified | X | (diff to previous) | |
PEAK/src/peak/binding/tests/__init__.py | modified | X | (diff to previous) |
cvs-admin@eby-sarna.com Powered by ViewCVS 1.0-dev |
ViewCVS and CVS Help |