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.