Storing morphs displayed in the world in a GOODS db

John Pierce john.raymond.pierce at gmail.com
Mon Sep 27 20:31:02 UTC 2004


Hi Avi,

So I took you up on the simplest option for now.  Attached is a mcz
file that I hope you incorporate.  It includes changes as follows:

1. Enabled you to put a class-side method called goodsFieldsToExclude
where you can return an array of instVars to *not* store in GOODs.  Of
course, the default implementation on Object class is to return an
empty list.

2. Added a class-side implementation of goodsFieldsToExclude on Color
to exclude the two cached instVars of Color.  This makes sense for
Color anyways since the cached instVars are exactly that -- cache!.

3. Of course, fixed up Object class>>goodsFieldDescriptors to exclude
any instVars in the exclude list.

4. Added ActiveWorld as a specialObject in KKDatabase's special
objects array.  This enables morphs that are currently being display
to be stored in GOODs.

While changes #1 - 3 above constitute additional flexibility and I
think are rather benign, change #4 above you may have design issues
with (in principle).  Let me know what you think you will include in
future versions of GOODs.

Just let me re-iterate how cool of a demo I think it is to store
Morphs on-screen in GOODs, then move them around, then rollback the
connection, and have them all bounce back.  I also want to start to
use GOODs to share pre-configured morphs for simple application
deployments and such.  This is just a start in that direction as I
will most certainly discover other issues with Bitmaps being embedded
in other things besides Colors (and we all know what happens when you
hand one of these proxied objects to some primitive!).

Cheers,

John
-------------- next part --------------
A non-text attachment was scrubbed...
Name: GOODS-jrp.74.mcz
Type: application/octet-stream
Size: 20029 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20040927/a2925895/GOODS-jrp.74.obj


More information about the Squeak-dev mailing list