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 |
2014-10-03 3:13 GMT+02:00 Alexandre Bergel <[hidden email]>: Hi! 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. 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:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
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 |
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 |
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 |
In reply to this post by abergel
2014-10-06 3:17 GMT+02:00 Alexandre Bergel <[hidden email]>: Hi Nicolai, I don't quite understand this, for what would I need to update roassal?
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
For having the implementation of topLeft. What you've asked for, nobody asked for it before, so things where missing in Roassal :) Alexandre
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
2014-10-06 13:21 GMT+02:00 Alexandre Bergel <[hidden email]>:
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 ?
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
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:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
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:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Free forum by Nabble | Edit this page |