2014-10-06 3:17 GMT+02:00 Alexandre Bergel <alexandre.bergel(a)me.com>om>:
Hi Nicolai,
First of all, thanks for your review. This is really useful.
I fixed what I can.
Indeed, the flag example is really bad when I am thinking about it.
I will think about a new example.
Regarding your example with RTNest, I had to improve and clean RTNest to
make the behavior you wish to have happen.
The code below is the same you have provided, except I have added
“topLeft”:
-=-=-=-=-=-=-=-=-=-=-=-=
v := RTView new.
es := (RTBox new color: Color gray) elementsOn: (Collection
subclasses).
v addAll: es.
RTNest new
topLeft;
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
-=-=-=-=-=-=-=-=-=-=-=-=
Side note on this: I am really happy to not have RTElement a composite.
Playing with such behavior is terrible, especially without breaking
existing code.
You need to update Roassal for this.
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?
Yes, this is a simple todo. Strange that it does not appear.
It always take me some seconds to realize that
"TRShape
withAllSubclasses" is only the "data”.
Very true. I already heard this remark.
Thanks!
Cheers,
Alexandre
On Oct 3, 2014, at 8:02 PM, Nicolai Hess <nicolaihess(a)web.de> wrote:
2014-10-03 3:13 GMT+02:00 Alexandre Bergel
<alexandre.bergel(a)me.com>om>:
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/010…
> Feedback is always welcome!
> Cheers,
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel
http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)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
>
_______________________________________________
> Moose-dev mailing list
> Moose-dev(a)iam.unibe.ch
>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel
http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev