2014-10-06 13:21 GMT+02:00 Alexandre Bergel <alexandre.bergel@me.com>:
For having the implementation of topLeft. What you've asked for, nobody asked for it before, so things where missing in Roassal :)

Alexandre


Ah, ok.
With topLeft it works now, but I thought this is done through constraints, therefore
I used the
TRConstraint alignFromLeft: group
Don't they work on groups ?

 
On 6 Oct 2014, at 07:45, Nicolai Hess <nicolaihess@web.de> wrote:

2014-10-06 3:17 GMT+02:00 Alexandre Bergel <alexandre.bergel@me.com>:
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.

I don't quite understand this, for what would I need to update roassal?

 

> 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@web.de> wrote:

> 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
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev@iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

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




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

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