Wednesday, September 19, 2012

Roassal, an agile visualization engine

Roassal graphically renders objects using short and expressive Smalltalk expressions. A large set of interaction are offered for a better user experience. Painting, brushing, interconnecting, zooming, drag and dropping will just make you more intimate with any arbitrary object model.

Thank you Vanessa Peña ! (Follow Vanessa on twitter)


Load Roassal (tested on Pharo 1.4):
Gofer new
 squeaksource: 'Roassal'; 
 package: 'ConfigurationOfRoassal';
 load.
(Smalltalk at: #ConfigurationOfRoassal) project lastVersion load.
Open Roassal:
ROEaselMorphic open.
Visualizing Collection hierarchy:
| view rawView |
"Preambule. It includes the initialization"
rawView := ROView new.
view := ROMondrianViewBuilder view: rawView.

"Shapes with metrics"
view shape rectangle 
 width: [:c | c instVarNames size];
 height: [:x | x methods size];
 linearFillColor: #linesOfCode within: Collection withAllSubclasses.

"Collection hierarchy"
view nodes: Collection withAllSubclasses.
view edgesFrom: #superclass.
view treeLayout.

"The menu is optional and customizable"
ROEaselMorphic new populateMenuOn: view.

"Open the view"
view open.

3 comments: