Roassal is sooo cool! Maybe /too/ cool?! ;-)
I'm having a hard time with RTCharterBuilder. My confusion comes from
everything appearing on the same level, kind of like Amber's html canvas
being magically changed when you enter a tag #with: block. Check out this
snippet for example:
b := RTCharterBuilder new.
...
b interaction popupText: [ :point | point someMessage ].
b points: aCollectionOfPointsOfTypeA.
b connectDotColor: Color green.
b y: [ :r | r newLikes ].
b x: [ :d | d date julianDayNumber ].
...
b interaction popupText: [ :point | point anotherMessage ].
b points: aCollectionOfPointsOfTypeB.
b connectDotColor: Color red.
b y: [ :r | r second * 50 ].
b x: [ :d | d first julianDayNumber ].
The fact that #x: and y: mean different things depending on the order of the
rest of the script is a little "too helpful" to me. I'd much rather have
things that are a property of a particular data set belong to a tangible
object. Something like:
dataSet := RTDataSet new
points: anotherCollection;
connectDotColor: Color red;
y: [ :r | r second * 50 ];
x: [ :d | d first julianDayNumber ].
b addDataSet: dataSet.
The magic confuses other not-so-magical things. Like, afterwards, I tried to
set #popupText: differently for each data set, but they all seemed to be
applied to the both data sets, and were causing errors because the type of
points were different, so I was getting DNUs. Now here was the real cost: I
wasn't sure whether #popupText: was per-chart, or there was some special
ordering necessary e.g. "#popupText: before #points:". This lead to flopping
around followed by giving up. I eventually got frustrated enough that I
hacked in an #isKindOf: in both #popupText: blocks since I couldn't delegate
the #popupText: to the point objects because it was specific to this
particular chart.
-----
Cheers,
Sean
--
View this message in context:
http://forum.world.st/Chart-Builder-DSL-Too-Good-tp4773990.html
Sent from the Moose mailing list archive at
Nabble.com.