[squeak-dev] New version BabyIDE + report
Trygve Reenskaug
trygver at ifi.uio.no
Sun Sep 14 18:50:03 UTC 2008
Hi Karl,
Every role has a similarly named method in the context class. This
method returns the object that shall be bound to the role. E.g.:
¤ Shapes4ArrowsCtx >>Shape1
¤ ^data anyShape
The different shapes (and arrows) are found in a runtime dictionary that
that is filled when the context class is instantiated:
¤ Shapes4ArrowsCtx >>bindRolesToObjects
¤ | messName |
¤ self class roleNames
¤ do: [:rNam |
¤ messName := rNam asString asSymbol.
¤ roleMap
¤ at: messName
¤ put: (self
¤ perform: messName
¤ ifNotUnderstood: [])].
¤ ^ roleMap
The idea is that a programmer need to understand this, but should not
need to understand the details of how it is done. (To see the details,
look at these methods:
Shapes4Env>>startArrowAnimation
Shapes4ArrowsCtx class>>executeInContext:
Shapes4ArrowsCtx >>on:env:
Shapes4ArrowsCtx >>bindRolesToObjects
I hope it answers your question.
The above is the current implementation. I believe there is much room
for simplification that should emerge when I write a tutorial. (Much
better to rewrite the code than to try its complexities).
Chers
--Trygve
On 14.09.2008 16:25, Karl Ramberg wrote:
> Trygve Reenskaug wrote:
>> I just posted a new version of the BabyIDE report and Squeak image.
>> I post an image rather then a Montizello loadable file because it is
>> just a demo.
>> I am working on a small application all done in BabyIDE.
>> I'll post a Monticello file (BabyIDE.alpha.0)as soon as this work is
>> completed.
>
> I looked at the IDE and tried to find out how the different shapes got
> selected in a sequence, but I got lost.
> Are the roles bound before the animation starts or how is it set up ?
>
> Karl
>
>
--
Trygve Reenskaug mailto: trygver at ifi.uio.no
Morgedalsvn. 5A http://heim.ifi.uio.no/~trygver
N-0378 Oslo Tel: (+47) 22 49 57 27
Norway
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20080914/e3622a02/attachment.htm
More information about the Squeak-dev
mailing list
|