[Seaside-dev] Issue 158 in seaside: Process callbacks outside the components

codesite-noreply at google.com codesite-noreply at google.com
Sun Sep 28 22:29:10 UTC 2008


Issue 158: Process callbacks outside the components
http://code.google.com/p/seaside/issues/detail?id=158

Comment #2 by jfitzell:
The owner instvar on WACallbackRegistry should also be removed. I came  
across this
when I discovered that WACallbackRegistry still wasn't actually holding  
onto the
callbacks. Both of these are fixed in the following commits.

It's still a bit ugly because the callback registry delegates callback  
addition to
the render context, which generates a key, and then calls back to the  
registry to
actually store the object. It would be nice to remove this dependency on  
the context
so the callback registry could be used more independently.

Name: Seaside-Core-jf.263
Author: jf
Time: 29 September 2008, 12:21:11 am
UUID: b6cb4186-537e-dd4f-997f-c6fb45810d68
Ancestors: Seaside-Core-jf.262

When I committed my change to move callback processing onto  
WACallbackRegistry I was,
of course, confused because WACallbackRegistry wasn't actually holding onto  
the
callbacks (it was storing them in the render context).

This would have been done initially so that the registry could be created  
holding
onto the owner, however we no longer require the owner for the callbacks  
(this
instance variable on WACallbackRegistry should have been removed as part of
http://code.google.com/p/seaside/issues/detail?id=158 but was not) which  
means we can
now have a single instance of the registry stored per render context and it  
can hold
the callbacks itself.

This commit removes the "owner" instance variable on WACallbackRegistry and  
adds a
"callbacks" instvar which holds a dictionary. WARenderingContext is  
modified to store
a registry instead of a dictionary in its "callbacks" instvar. Users of  
both classes
have been updated.


Name: Seaside-Component-jf.10
Author: jf
Time: 29 September 2008, 12:21:53 am
UUID: 7f79de51-ad23-ba45-b019-327865819650
Ancestors: Seaside-Component-pmm.9


Name: Seaside-Canvas-jf.8
Author: jf
Time: 29 September 2008, 12:22:22 am
UUID: e475c0fd-e925-f141-8370-00627e0cb594
Ancestors: Seaside-Canvas-jf.7


Name: Scriptaculous-Core-jf.40
Author: jf
Time: 29 September 2008, 12:22:54 am
UUID: 8100bd18-a128-134b-b527-b75968170869
Ancestors: Scriptaculous-Core-jf.39


Name: Seaside-Core-jf.264
Author: jf
Time: 29 September 2008, 12:25:18 am
UUID: 8d8230d2-364a-1c4f-abec-e8251ca02e4b
Ancestors: Seaside-Core-jf.263



-- 
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings


More information about the seaside-dev mailing list