veryDeepCopy, ImageSegments, and actionMaps

Ned Konz ned at bike-nomad.com
Mon Jul 21 23:32:05 UTC 2003


Any Object can have dependents whether or not it has an instance 
variable to keep track of them (these are kept in the 
DependentsFields class variable of Object).

The only class that keeps its own dependents is Model.

Any Object can have an actionMap. These are supplied by EventManager 
class by default, and are stored in the ActionMaps class variable of 
EventManager.

The only class that keeps its own action maps is Morph.

When we veryDeepCopy an object we also copy the global dependents (see 
DeepCopier>>fixDependents).

However, we don't copy the actionMap in those cases where it's held by 
the EventManager class.

When we file out an object that uses DependentsFields out into an 
ImageSegment, we also file out the dependents (see 
ImageSegment>>dependentsSave:) if it's in a project. We do this by 
adding a project parameter called #GlobalDependentsInProject.

However, we don't file out the actionMap in those cases where it's 
held by the EventManager class.

My question is this: should we fix these behaviors (copying and 
serialization) to include these "global action maps" just like we 
already include the "global dependents"?

Or should we discourage the use of the "global action maps"?

-- 
Ned Konz
http://bike-nomad.com
GPG key ID: BEEA7EFE



More information about the Squeak-dev mailing list