[Pharo-dev] Understanding Roassal

Alexandre Bergel alexandre.bergel at me.com
Mon Nov 25 16:46:48 EST 2013


Hi!

> So I took your advice and gave a good look to Roassal to learn more about how to use Athens. First I want to congratulate the coders, I was expecting a simple visualisation library for object graphs and what I see is a full blown graphics library that can be used for many diffirent kinds of graphical illustrations. 

Thanks for your nice words :-)

> I still however trying to understand the end goal of Roassal , is there an end goal or is it generally code visualisation ? 

The goal of Roassal is getting broader with the time. The main objective of Roassal is to be a platform for data visualisation. So, as soon as you have a bunch of data (e.g., plenty of numbers or any arbitrary objects), then Roassal should give you the tools to visualize and interact with your data.

Roassal is slowly moving from a tool for end-user to a platform on which domain specific languages can be created. This is an important point when reusing visualizations (e.g., ROTreeMapBuilder, ROMapBuilder, ROMondrianViewBuilder are all compelling examples). 

Roassal is currently being ported to Amber, which will probably broaden the vision behind Roassal. Early examples may be found on: http://pestefo.github.io/roamber/#


> Also I wanted to ask if Roassal can do visual coding. By that I mean visualize not only objects but messages inside methods so the users with drag and drop code in a visual way. 

Yes, Roassal is made for that. If there is something that Roassal does not allow you to do, then let us know, we are a whole team ready to polish Roassal.

> I took a look at the examples but I see nowhere the use of bezier curves , why is that ?

There is a few.

Try:
-=-=-=-=-=-=-=-=-=-=-=-=
"Source code: ROMondrianExample>>bezierCurveOn:"
"Preambule. It includes the initialization. "
| view rawView |
rawView := ROView new.
view := ROMondrianViewBuilder view: rawView.
"-------------"
"-------------"

view shape circle size: 10.
view nodes: (Collection withAllSubclasses).
view shape bezierLine.
view edgesFrom: #superclass.
view radialTreeLayout.
view center.  

"-------------"
"-------------"
"Below is the initiation of the menu and opening the visualization"
ROEaselMorphic new populateMenuOn: view.
view open
-=-=-=-=-=-=-=-=-=-=-=-=

Have a look at the class ROSplineExample
It does not contains many examples, but you get enough to build appealing visualization (e.g., https://www.facebook.com/media/set/?set=a.511442275609041.1073741827.340543479365589&type=3  )

More screenshots are available on: https://www.facebook.com/ObjectProfile

Cheers,
Alexandre





More information about the Pharo-dev mailing list