2014-10-03 3:13 GMT+02:00 Alexandre Bergel <alexandre.bergel@me.com>:
Hi!

Just to let you know I worked on Section 3, Section 5, Section 8 of the Roassal chapter:
https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/Roassal/0104-Roassal.html

Feedback is always welcome!

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




_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev

This is great! I really like what you can do with roassal.
I am interested in all kind of visualiazation frameworks
and I am happy we can do this great stuff in smalltalk.


A few comments:

In 1. View, Elements....
.. "Consider the following example that visually associate some numbers (Figure 1.2):"
this is the first figure (1.1)

2.4 Shape compositing
I don't think, flags are a good example. Looks like abusing roassal for simple drawings. And you
can not use composed shapes for drawing every flag (how would you draw the flag of cyprus?)
If I need to show flags in a visualization I would use an image (that would be a good example
for RTBitmap :) )

In 5. Nesting elements
In the second example you write:
"A layout may be specified when using RTNest. For example ..."

But the first example already had a grid layout. What is the difference between
adding the layout on the elements and adding the layout to the RTNest ?


I tried to find another example for RTNest to visualize multiple properties, for example
a Class is drawn as a box with a label and two "bars" indicating the number of methods and the
number of instVars:

v := RTView new.
    es := (RTBox new color: Color gray) elementsOn: (Collection subclasses).
    v addAll: es.

    RTNest new
        for: es add: [ :group :model |
            group add: ((RTLabel new color: Color black) elementOn:model).
            group add: ((RTBox new color: Color orange; width:#numberOfMethods) elementOn:model).
            group add: ((RTBox new color: Color lightGreen; width:#numberOfInstanceVariables ) elementOn:model).
            RTVerticalLineLayout on: group.
            TRConstraint alignFromLeft: group ].

    RTVerticalLineLayout on: es.
    TRConstraint setAllToMaxWidth: es.
    TRConstraint alignFromLeft: es.
    v

would this be the right way or is there a simpler solution.
And it seems that the TRConstraint does not work for the group elements. They are not aligned to the left.

The last two sentences are:

"Different form of nesting. for:inShape:add:, on:inShape:nest:layout:

Nesting in a popup."

This is just a reminder for "to be done", right?

I looked at the examples for Composite shapes in "Roassal examples" (in the latest moose image).
The "for:inShape" examples doesn't look like the preview images.


6. Giving behavior ...
I can not decode the first sentence, I know it is about interaction, actions and user actions,
and somehow I understand what you describe but the sentence looks strange (but I am not a native english speaker:) ).

Below, in the description of the specific interactions:
"RTLabelled adds a label above an element. The label may be particularized using text: " -> if <- the default string representation is not sufficient.


About the examples here and those in the moose image: don't mix "data" with "code".
I (maybe it is just me) find it always confusing to see examples build on some "data objects" where this data is the framework itself. For example TRShape
is a class from the framework. And the example for "8. Expressing constraints" starts with:
	objects := TRShape withAllSubclasses.
	v := RTView new.
	n := RTMultiLinearColorForIdentity new objects: objects.
.....
It always take me some seconds to realize that  "TRShape withAllSubclasses" is only the "data".

Nicolai