Dear All,

This week end has been intense for Roassal (yeah, I got a flu, so I stayed home :-)
Two major improvements of Roassal: Pie builder and Builder composition have been added.

I will send a post about the pie builder later on. In this email I want to discuss the composition. Here is an example of builder composition:


The code is available from RTComposerExample>>exampleClassAnalysis

The cool thing, is that highlights are propagated across different builders. This means that you can globally highlight some elements. 

The class RTComposer is actually quite simple.
Here is a short and simple example, in which code dedicated to the composition is indicated in bold:
-=-=—=-=-=—=-=-=—=-=-=—=-=-=—=
classes := Collection withAllSubclasses.

c := RTComposer new.

b1 := RTMondrianViewBuilder new.
b1 view: c view. 
b1 nodes: classes.
b1 gridLayout.
b1 build.
c propagateHighlight.
c group: #hierarchy.


b2 := RTCharterBuilder new.
b2 view: c view.
b2 extent: 200 @ 200.
b2 points: classes.
b2 allY: #numberOfMethods.
b2 stackX.
b2 curve.
b2 axisX.
b2 axisYWithNumberOfTicks: 4.
c propagateHighlight.
c group: #curve.

c move: #hierarchy above: #curve.
c open
-=-=—=-=-=—=-=-=—=-=-=—=-=-=—=

This is still early work. Many more things have to be improved. For example, the layout of builder is quite simple. Maybe we will need something more complex. The propagation of events may also be improved. 

Feedbacks are welcome. This is a crucial point of Roassal, and it has to be done right. 

Cheers,
Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.