Updated the Roassal chapter in agilevisualization.com

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Updated the Roassal chapter in agilevisualization.com

abergel
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
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Updated the Roassal chapter in agilevisualization.com

Nicolai Hess
2014-10-03 3:13 GMT+02:00 Alexandre Bergel <[hidden email]>:
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
[hidden email]
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
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Updated the Roassal chapter in agilevisualization.com

stepharo
In reply to this post by abergel
Alex the title of the chapter looks strange to me.
Why is it related to domain specific.

Stef

On 3/10/14 03:13, Alexandre Bergel wrote:
> 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

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Updated the Roassal chapter in agilevisualization.com

abergel
In reply to this post by Nicolai Hess
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 <[hidden email]> wrote:

> 2014-10-03 3:13 GMT+02:00 Alexandre Bergel <[hidden email]>:
> 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
> [hidden email]
> 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
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

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




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Updated the Roassal chapter in agilevisualization.com

abergel
In reply to this post by stepharo
> Alex the title of the chapter looks strange to me.
> Why is it related to domain specific.

It is not. I fixed the title.

Cheers,
Alexandre

>
> On 3/10/14 03:13, Alexandre Bergel wrote:
>> 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
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

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




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Updated the Roassal chapter in agilevisualization.com

Nicolai Hess
In reply to this post by abergel
2014-10-06 3:17 GMT+02:00 Alexandre Bergel <[hidden email]>:
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 <[hidden email]> wrote:

> 2014-10-03 3:13 GMT+02:00 Alexandre Bergel <[hidden email]>:
> 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
> [hidden email]
> 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
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

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




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Updated the Roassal chapter in agilevisualization.com

abergel
For having the implementation of topLeft. What you've asked for, nobody asked for it before, so things where missing in Roassal :)

Alexandre

On 6 Oct 2014, at 07:45, Nicolai Hess <[hidden email]> wrote:

2014-10-06 3:17 GMT+02:00 Alexandre Bergel <[hidden email]>:
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 <[hidden email]> wrote:

> 2014-10-03 3:13 GMT+02:00 Alexandre Bergel <[hidden email]>:
> 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
> [hidden email]
> 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
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

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




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Updated the Roassal chapter in agilevisualization.com

Nicolai Hess
2014-10-06 13:21 GMT+02:00 Alexandre Bergel <[hidden email]>:
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 <[hidden email]> wrote:

2014-10-06 3:17 GMT+02:00 Alexandre Bergel <[hidden email]>:
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 <[hidden email]> wrote:

> 2014-10-03 3:13 GMT+02:00 Alexandre Bergel <[hidden email]>:
> 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
> [hidden email]
> 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
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

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




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Updated the Roassal chapter in agilevisualization.com

abergel
Yes, alignFromLeft: works perfectly with groups.
Check this:

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
rootClasses := { RTShape . RTLayout . RTBuilder }.

groups := rootClasses collect: [ :cls |
g := RTGroup new.
elements := (RTEllipse new size: 8; color: Color blue) elementsOn: cls withAllSubclasses.
g addAll: elements.
edges := RTEdgeBuilder new
view: g;
objects: cls withAllSubclasses from: #superclass.
RTForceBasedLayout on: elements edges: edges.
g
].

v := RTView new.
groups do: [ :aGroup | v addAll: aGroup ].
RTVerticalLineLayout on: groups.

TRConstraint alignFromLeft: groups.
v
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

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



On Oct 6, 2014, at 3:55 PM, Nicolai Hess <[hidden email]> wrote:

I used the 
TRConstraint alignFromLeft: group 
Don't they work on groups ?


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Updated the Roassal chapter in agilevisualization.com

abergel
I have inserted this example in the chapter, Section 8.1 of Roassal

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



On Oct 7, 2014, at 11:12 AM, Alexandre Bergel <[hidden email]> wrote:

Yes, alignFromLeft: works perfectly with groups.
Check this:

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
rootClasses := { RTShape . RTLayout . RTBuilder }.

groups := rootClasses collect: [ :cls |
g := RTGroup new.
elements := (RTEllipse new size: 8; color: Color blue) elementsOn: cls withAllSubclasses.
g addAll: elements.
edges := RTEdgeBuilder new
view: g;
objects: cls withAllSubclasses from: #superclass.
RTForceBasedLayout on: elements edges: edges.
g
].

v := RTView new.
groups do: [ :aGroup | v addAll: aGroup ].
RTVerticalLineLayout on: groups.

TRConstraint alignFromLeft: groups.
v
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
<Screen Shot 2014-10-07 at 11.11.54 AM.png>

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



On Oct 6, 2014, at 3:55 PM, Nicolai Hess <[hidden email]> wrote:

I used the 
TRConstraint alignFromLeft: group 
Don't they work on groups ?

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev