On 5/20/2010 2:47 AM, Igor Stasenko wrote:
Then we can make an easy transition 1. add this pool to classes which using that global& recompile them
2. for classes, which should have no dependency from Morphic, use a messages like
Object>> currentWorld ^ (Smalltalk at: #MorphicPool ifAbsent: [ self error: 'bummer' ]) currentWorld .
I think that's the wrong way to deal with the problem. A polymorphic implementation via Project works much better, i.e., Object>>currentWorld ^Project current world and then Project>>world "No worlds here" ^nil MorphicProject>>world ^world etc. Then you don't need any globals at all.
Then, i hope, you can unload the Morphic using MC and it will leave no trace in an image (or at least less trace than usual ;).
Same could be applied to Graphics package (to get rid a Display global)
And the same applies. The pattern should be "Project current display". Cheers, - Andreas