so now it works. 

Cool!

One more question before committing the changes (in order to use RTMondrianViewBuilder and take benefit of your last works). In Roassal a ROShape had a size of 5@5 by default (defaultExtent, I think). In Roassal2, such default size has not been implemented. 

The reason is that there is no good reason to have a minimum size. Why not having a maximum size as well? Why 5? 
However, I perfectly understand the need. And indeed, there should be an easy way to build constrained shapes. 


So there is two solutions:
- I put a patch in the System Complexity View. But the problem will persist for any other visualization; or

What you can do, is to reuse the Mondrian shape builder even without using RTMondrianViewBuilder. This is something that I have not advertised well (since it is very specific).

For example, instead of doing this:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| v es |
v := RTView new.

es := (RTBox new size: [ :cls | 5 max: cls numberOfVariables ]; borderColor: Color black) elementsOn: RTObject withAllSubclasses.

v addAll: es.
RTFlowLayout on: es.
v open
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

You can do:

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| v sb es |
v := RTView new.

sb := RTMondrianShapeBuilder new.
sb rectangle 
size: #numberOfVariables.
es := sb elementsOn: RTObject withAllSubclasses.

v addAll: es.
RTFlowLayout on: es.
v open
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The result is 


Does this make sense? 

- Alex (or anyone else) adds a method to set a minimum width and height in Roassal2 as it was in Roassal.

This is not a good solution :-)

Thanks in advance for your answer.
And already thanks for the improvements, you made.

Thanks to you and all your team for using Roassal and trusting us.

Cheers,
Alexandre



Le 18 avr. 2014 à 00:36, Alexandre Bergel a écrit :

done!

I have introduced #build on RTMondrianViewBuilder and RTBuilder

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



On Apr 17, 2014, at 6:00 PM, Tudor Girba <tudor@tudorgirba.com> wrote:

Yes. The only problem is that applyLayout is not polymorphic with all builders and with the RTView.

I would suggest a message like: build or process. What do you think?

Doru


On Thu, Apr 17, 2014 at 10:53 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Send applyLayout to the builder.

builder := RTMondrianViewBuilder new.

builder nodes: ….

builder applyLayout

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



On Apr 17, 2014, at 1:03 PM, Anne Etien <anne.etien@univ-lille1.fr> wrote:

Hi,

I took the latest version of Glamour. Now there is another problem: the layout is not taken into account, so all the elements appear in the center. It seems according to Leo that RTMondrianViewBuilder>>open is not called and so the applyLayout method is never called.

Anne

Le 16 avr. 2014 à 12:18, Tudor Girba a écrit :

Fixed. Please take the latest version of Glamour.

Doru


On Wed, Apr 16, 2014 at 12:11 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
Thanks for the report. Please open a bug and I will fix it. This is still a construction site :)

Doru


On Wed, Apr 16, 2014 at 12:00 PM, Anne Etien <anne.etien@univ-lille1.fr> wrote:
It does not work. We (Leo and I) made this insertion and modified the viewSimpleSystemComplexityWithSelection: height: width: color: on: to apply on RTMondrianBuilder and no more on an RTView. But it really seems that GLMRoassal2Presentation is waiting for an RTView as view and not a RTMondrianViewBuilder. The elements method does not exist on a RTMondrianViewBuilder.

So it seems that it is really more complex to use a RTMondrianViewBuilder in the Customizable System Complexity view since it has repercussions on Glamour.

Leo and Anne

GLMRoassal2Presentation >> renderOn: aView
   self paintingBlock glamourValue: (
                                                           aView asGlamorousMultiValue,
                                                           self entity asGlamorousMultiValue,
                                                           self asGlamorousMultiValue ).
"    self flag: 'This should be the responsibility of the the view'.
   aView applyLayout.      "
   self shouldPopulateSelection ifTrue: [
           aView elements do: [:each |
                   each on: TRMouseLeftClick do: [:event | self selection: each model ]] ].
   self view: aView


Le 16 avr. 2014 à 11:25, Tudor Girba a écrit :

Ah, I see the confusion.

You can just do:

MooseCustomizableSystemComplexityBrowser>>complexityIn: a
  ^ a roassal2
              initializeView: [ RTMondrianViewBuilder new ]
          painting: [ :view :group :height :width :color :presentation |
                  group key
                          viewSimpleSystemComplexityWithSelection: OrderedCollection new
                          height: [:e | (height value:e) max: 5]
                          width: [:e | (width value:e) max: 5]
                          color: color
                          on: view ]

Doru



On Wed, Apr 16, 2014 at 10:37 AM, Anne Etien <anne.etien@univ-lille1.fr> wrote:
In fact I tried with Leo to use RTMondrianViewBuilder, but it seems that it is not possible.
Indeed, the view in the painting: block parameter is a RTView. I don't want to modify the initialize method of GLMRoassal2Presentation.
So perhaps I am wrong, but it seems not so easy for the Customizable System Complexity to use RTMondrianViewBuilder.

Please find below GLMRoassal2Presentation >>initialize and MooseCustomizableSystemComplexityBrowser>>complexityIn: a

Anne

GLMRoassal2Presentation >>initialize
  super initialize.
  newViewBlock := [ RTView new ].
  shouldPopulateSelection := true.
  self defaultActions
MooseCustomizableSystemComplexityBrowser>>complexityIn: a
  ^ a roassal2
          painting: [ :view :group :height :width :color :presentation |
                  group key
                          viewSimpleSystemComplexityWithSelection: OrderedCollection new
                          height: [:e | (height value:e) max: 5]
                          width: [:e | (width value:e) max: 5]
                          color: color
                          on: view ]

Le 16 avr. 2014 à 07:54, Tudor Girba a écrit :

No, it does not mean that :).

Builders are useful when the target visualization matches the metaphor of the builder. For example, the MondrianBuilder is made for a graph visualization like System Complexity. But, if you would want to visualize a graph that places a lot of emphasis on position and animation, it is probably easier to work with RTView.

Doru


On Wed, Apr 16, 2014 at 7:45 AM, Anne Etien <anne.etien@univ-lille1.fr> wrote:
Hi,

I will try to modify the Customizable System Complexity to work with the MondrianBuilder. By the way, does it means that normally, the RTView should not be directly manipulated for a visualization, but only builder?

Anne
Le 16 avr. 2014 à 07:20, Tudor Girba a écrit :

Hi Alex,

The recent implementation of the Customizable System Complexity works directly with the RTView. This is where the issue comes from :). We should change it to work with the MondrianBuilder.

Doru


On Wed, Apr 16, 2014 at 12:23 AM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Hi Anne!

I was not able to make the example run. Maybe I run an old Moose image. I have created a couple of weeks ago a RTBoundedShapeBuilder. Mondrian uses it.

For example:
| b |
b := RTMondrianViewBuilder new.
b shape rectangle size: #yourself.
b nodes: (1 to: 20).
b open

Produce the following:
<Screen Shot 2014-04-15 at 7.21.14 PM.png>

Is this what you expect?

Alexandre


On Apr 15, 2014, at 12:45 PM, Anne Etien <anne.etien@univ-lille1.fr> wrote:

You can use Customizable System Complexity view from the MoosePanel while right clicking on a group of classes, then visualize and then the fourth item. I made a screenshot to explain and another showing the visu on a MooseModel. I didn't know this visu before Friday, but it is I think a great one ;o)

I modified the code of the MooseCustomizableSystemComplexityBrowser>>complexityIn: method.
We just modified it to migrate it and the called method from Roassal to Roassal2.

Anne
<CSCView.png><MoosePanel.png>

Le 15 avr. 2014 à 17:29, Alexandre Bergel a écrit :

We indeed need a way to have limit for the size. But we have to do it in a nice way. For example, with GraphET we often need elements smaller than 5 x 5.
How do you define Customizable System Complexity view?
Can I have a look at it?

Alexandre

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



On Apr 15, 2014, at 12:05 PM, Anne Etien <anne.etien@univ-lille1.fr> wrote:

Hi,

I took your email for us Doru, so I did it for the specific visu, but I think that I shouldn't. Indeed, in Roassal a ROShape had a size of 5@5 by default (defaultExtent, I think). In Roassal2, such default size has not been implemented. So I put a patch in the System Complexity View, but I think that it should be done everywhere.

So Alex, can you, please, set a minimum width and height in Roassal2 as it was in Roassal? When it is done, I will remove my patch.

Currently, it works.
Anne


Le 15 avr. 2014 à 07:10, Tudor Girba a écrit :

Hi,

Thanks for working on this. However, the System Complexity View requires a minimum width and height. Could you make it so that it is at least 5?

Doru


On Fri, Apr 11, 2014 at 9:17 PM, Anne Etien <anne.etien@univ-lille1.fr> wrote:
Perfect for the borders of the shape and of the popup.

Thanks
Anne
Le 11 avr. 2014 à 21:11, Juraj Kubelka a écrit :

I have just committed the fix.

El 11-04-2014, a las 14:10, Alexandre Bergel <alexandre.bergel@me.com> escribió:

Juraj is currently working on the border

Alexandre


On Apr 11, 2014, at 12:48 PM, Anne Etien <anne.etien@univ-lille1.fr> wrote:

Hi,

Today, we migrated the Customizable System Complexity view of the Moose Panel from Roassal to Roassal2.
The render is not so beautiful due to the border and the popUp.
We hope that the behavior of the view remains the same.

Leo, Kevin and Anne.


_______________________________________________
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



--
www.tudorgirba.com

"Every thing has its own flow"
_______________________________________________
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

_______________________________________________
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

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




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




--
www.tudorgirba.com

"Every thing has its own flow"
_______________________________________________
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




--
www.tudorgirba.com

"Every thing has its own flow"
_______________________________________________
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




--
www.tudorgirba.com

"Every thing has its own flow"
_______________________________________________
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




--
www.tudorgirba.com

"Every thing has its own flow"



--
www.tudorgirba.com

"Every thing has its own flow"
_______________________________________________
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


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



-- 
www.tudorgirba.com

"Every thing has its own flow"
_______________________________________________
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


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

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