E&S CVS Commit: PEAK - 'binding.IBindingNode' was REMOVED, consolidated into 'binding.IComponent',

pje at eby-sarna.com pje at eby-sarna.com
Tue Nov 16 17:02:00 EST 2004

Module Name:	PEAK
Committed By:	pje
Date:		Tue Nov 16 22:01:24 UTC 2004

Modified Files:
	PEAK/src/peak/binding: components.py interfaces.py once.py
	PEAK/src/peak/model: elements.py

Log Message:
'binding.IBindingNode' was REMOVED, consolidated into 'binding.IComponent',
as its various individual methods have been replaced with generic functions
in the existing 'binding' API. For example, 'binding.getParentComponent(x)'
should be used in preference to 'x.getParentComponent()' unless it is
a requirement that 'x' implement the full 'binding.IComponent' interface.
This makes it easier to define what 'binding.getParentComponent()' and
'binding.getComponentName()' will mean for non-component types, as you do
not have to define an adapter class with all of the 'IBindingNode' methods.
Also, this makes PEAK itself cleaner, as we often weren't bothering to
properly implement the full 'IBindingNode' interface anyway.

In addition, 'binding.suggestParentComponent()' is now also a generic
function, dispatching on the target (i.e. child) object.

To view diffs of this commit, you can use the following URL(s):

To generate a diff of this commit:
cvs rdiff -r1.159 -r1.160 PEAK/CHANGES.txt
cvs rdiff -r1.138 -r1.139 PEAK/src/peak/binding/components.py
cvs rdiff -r1.20 -r1.21 PEAK/src/peak/binding/interfaces.py
cvs rdiff -r1.69 -r1.70 PEAK/src/peak/binding/once.py
cvs rdiff -r1.22 -r1.23 PEAK/src/peak/model/elements.py

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

More information about the source-changes mailing list