=== "the three following lines are ok for me" v := RTView new. shape := RTEllipse new size: 20; color: Color lightBlue. shape := shape + RTLabel.
"ok, we are transforming a collection of objects into roassal elements" es := shape elementsOn: (1 to: 20). "and we add them to the view." v addAll: es. "my point here is that the visualization is not directly correlated to the objects. Objects are transformed. It means that if I add a new object, I also should add a new element and add it in the visualization. This is not trivial to understand. Why is it not done lazily ?”
First, this situation is not common. Visualizing changes of a data set while these changes are occurring has not been a pressing case study Roassal should address. Until you have sent your email :-)
Let’s go it iteratively. You said : "It means that if I add a new object” How do you want to add it? What about the following scenario:
-=-=-=-=-=-=-=-=-=-= myCollection := OrderedCollection new. v := RTView new. v addAll: (RTEllipse elementsOn: myCollection).
myCollection add: 1; add: 2; add: 3. v -=-=-=-=-=-=-=-=-=-=
If you execute this script, the view will be empty, since elements are created before the collection is filled. However, I have the impression this is what you wish to have?
"following lines create edges, it is ok" RTEdgeBuilder new view: v; objects: (1 to: 20) from: [ :i | i // 2 ].
"We are applying a layout to a group of elements, not to a view. It means that all the expected behaviors are on the group of elements" RTTreeLayout on: es.
"Here is strange. Why RTDraggable is applied to es and not to a shape ?" es @ RTDraggable. v
Shapes are solely about the visual aspect of each individual elements.
=== You know what I mean. Roassal has multiple key elements: objects, elements, view. And I do not see the interactions and builder.
I would like to know what is applied to each element.
An element is a wrapper to an external provided object (e.g., a number, a file, your object). To an element, you can add a shape (composed or not), and interaction. Elements are added in a view. Builders are at a higher level. Builders offer API to build more sophisticated elements, shapes, interactions and layouts. But it all boils down into shapes and interaction added to elements, and elements added to a view.
I am updating the Roassal chapter with these information.
Cheers, Alexandre
Cheers, Jannik
2014-11-07 10:48 GMT-03:00 Alexandre Bergel <alexandre.bergel@me.com mailto:alexandre.bergel@me.com>: Hi Jannik,
You are raising an excellent point! Designing a documentation that find the right balance between what roassal offers, how people want to use it, and considering the previous knowledge people may have is hardly difficult.
Let me try:
There are three sources of documentation for Roassal2: the http://agilevisualization.com http://agilevisualization.com/ book, examples contains in Roassal2, and this mailing list. Chapters about Mondrian, Roassal1 are more than obsolete by now.
You may want to try to work with the core of Roassal. Just focus on the Roassal2-Core then. Just look at the ‘Roassal Example’ in the example browser. Play a bit with it. Once you understand the basic functionalities of Roassal, you can read more about the builders (what I think you are referring to with ‘scripts’). Chapter II.1 in Agile Visualization.
An advice: do no try to build any complex Visualization in Roassal without having read the builder infrastructure.
Cheers, Alexandre
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu http://www.bergel.eu/ ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
On Nov 7, 2014, at 10:25 AM, jannik laval <jannik.laval@gmail.com mailto:jannik.laval@gmail.com> wrote:
Hi Alex,
I am trying to use Roassal2. We can do amazing things with it. It is a powerful tool.
But, it lakes of documentation. I mean, there are lots of examples and we can reuse them. My problem is that I cannot create something from scratch, just because I do not understand the workflow.
You know, I used Glamour and Mondrian, where the workflow were clear. In Roassal2, I am playing with blocks without understanding and without any idea what can be the result before executing it.
My problem is not about language or DSL or API. My question is: do you have a document that explain how to think a Roassal script ? It seems that to make something we can do it by multiple way. I just need one way to understand the workflow or creating visualization.
Thank you for your help.
-- ~~Jannik Laval~~ École des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu http://www.jannik-laval.eu/ http://www.phratch.com http://www.phratch.com/ http://www.approchealpes.info http://www.approchealpes.info/ http://car.mines-douai.fr/ http://car.mines-douai.fr/_______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch mailto:Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch mailto:Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- ~~Jannik Laval~~ École des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu http://www.jannik-laval.eu/ http://www.phratch.com http://www.phratch.com/ http://www.approchealpes.info http://www.approchealpes.info/ http://car.mines-douai.fr/ http://car.mines-douai.fr/_______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev