Roassal real-time

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

Re: Roassal real-time

jannik laval
Thank you Alex,

I will check all of that.

Jannik

2014-10-28 13:23 GMT+01:00 Alexandre Bergel <[hidden email]>:
There is a chapter on builders:
https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/Builder/0201-Builders.html

Cheers,
Alexandre


> On Oct 24, 2014, at 12:54 PM, jannik laval <[hidden email]> wrote:
>
>
>
> 2014-10-24 16:51 GMT+02:00 Peter Uhnák <[hidden email]>:
> > My point is that I want to do a board with multiple views. I saw that in the Roassal example pane.
> If you mean what I think that's not actually Roassal, that is just regular images. You can always investigate the source code of Roassal>ExampleBrowser package/RTExampleBrowser/RTAbstractExample.
>
> Ok, I don't understood that they are simple image.
> So, I will go to understand builders.
>
> Do you have simple examples ?
>
> Jannik
>
>
> > can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
> The base class RTBuilder have both view: and renderIn:; if not specified the builder will create its own view.
> I don't know if this is the intended way, but that's how I use it and it seems to work. :)
> Look at RTComposerExample>>exampleClassAnalysis.
>
> Peter
>
>
> On Fri, Oct 24, 2014 at 4:38 PM, Thierry Goubier <[hidden email]> wrote:
>
>
> 2014-10-24 16:14 GMT+02:00 Peter Uhnák <[hidden email]>:
> I don't believe you can add view to a view, however you can either use the same view in all methods (if you are using builders you can pass view to them, or use renderIn: aView method)
>
> Hi Peter,
>
> can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
>
> Thierry
>
> _______________________________________________
> 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
>
>
>
>
> --
> ~~Jannik Laval~~
> École des Mines de Douai
> Enseignant-chercheur
> http://www.jannik-laval.eu
> http://www.phratch.com
> http://www.approchealpes.info
> http://car.mines-douai.fr/
>
> _______________________________________________
> 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: Roassal real-time

abergel
Ok, let us know!

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



On Oct 29, 2014, at 11:19 AM, jannik laval <[hidden email]> wrote:

Thank you Alex,

I will check all of that.

Jannik

2014-10-28 13:23 GMT+01:00 Alexandre Bergel <[hidden email]>:
There is a chapter on builders:
https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/Builder/0201-Builders.html

Cheers,
Alexandre


> On Oct 24, 2014, at 12:54 PM, jannik laval <[hidden email]> wrote:
>
>
>
> 2014-10-24 16:51 GMT+02:00 Peter Uhnák <[hidden email]>:
> > My point is that I want to do a board with multiple views. I saw that in the Roassal example pane.
> If you mean what I think that's not actually Roassal, that is just regular images. You can always investigate the source code of Roassal>ExampleBrowser package/RTExampleBrowser/RTAbstractExample.
>
> Ok, I don't understood that they are simple image.
> So, I will go to understand builders.
>
> Do you have simple examples ?
>
> Jannik
>
>
> > can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
> The base class RTBuilder have both view: and renderIn:; if not specified the builder will create its own view.
> I don't know if this is the intended way, but that's how I use it and it seems to work. :)
> Look at RTComposerExample>>exampleClassAnalysis.
>
> Peter
>
>
> On Fri, Oct 24, 2014 at 4:38 PM, Thierry Goubier <[hidden email]> wrote:
>
>
> 2014-10-24 16:14 GMT+02:00 Peter Uhnák <[hidden email]>:
> I don't believe you can add view to a view, however you can either use the same view in all methods (if you are using builders you can pass view to them, or use renderIn: aView method)
>
> Hi Peter,
>
> can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
>
> Thierry
>
> _______________________________________________
> 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
>
>
>
>
> --
> ~~Jannik Laval~~
> École des Mines de Douai
> Enseignant-chercheur
> http://www.jannik-laval.eu
> http://www.phratch.com
> http://www.approchealpes.info
> http://car.mines-douai.fr/
>
> _______________________________________________
> 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: Roassal real-time

jannik laval
Hi Alex,

So I tried again but I have problems. Here is a sample code I made:

===
| view  el shape|
view := RTView new.
[
el := RTElement forCollection: #(1 2 3).
shape := RTMultiCompositeShape new
add: (RTEllipse new color: Color blue; size: 20);
add: (RTLabel new);
horizontal;
yourself.
el do:[:e | 
e @ RTDraggable; 
+ shape.
].
view elements do:[:e | view removeElement: e].
view addAll: el.
RTGridLayout new on: el.
view signalUpdate.
] valueWithInterval: 1second.
view open
===

This code update the view every seconds, because the collection is changing regularly.

Now, I tried to use a builder to make similar behavior but it has not the right behavior: the shapes are not well placed, and when I place the mouse on a shape, it raises an error.
Here is the code:

===
| c b  |
c := RTComposer new.
b := RTGraphBuilder new.
b view: c view.
[
b nodes 
color: Color blue.
b layout circle.
b cleanView.
b addAll: #(1 2 3).
b build
] valueWithInterval: 1second.
c group.
c layout: RTVerticalLineLayout new.
c open.
===

So, what is your point of view ? What can I improve and how ?
Is any guy of Roassal team coming at Smalltalks 2014 ? I will be at Cordoba and I would like to peer-program with someone who knows well Roassal.

Jannik

2014-10-29 16:25 GMT+01:00 Alexandre Bergel <[hidden email]>:
Ok, let us know!

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



On Oct 29, 2014, at 11:19 AM, jannik laval <[hidden email]> wrote:

Thank you Alex,

I will check all of that.

Jannik

2014-10-28 13:23 GMT+01:00 Alexandre Bergel <[hidden email]>:
There is a chapter on builders:
https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/Builder/0201-Builders.html

Cheers,
Alexandre


> On Oct 24, 2014, at 12:54 PM, jannik laval <[hidden email]> wrote:
>
>
>
> 2014-10-24 16:51 GMT+02:00 Peter Uhnák <[hidden email]>:
> > My point is that I want to do a board with multiple views. I saw that in the Roassal example pane.
> If you mean what I think that's not actually Roassal, that is just regular images. You can always investigate the source code of Roassal>ExampleBrowser package/RTExampleBrowser/RTAbstractExample.
>
> Ok, I don't understood that they are simple image.
> So, I will go to understand builders.
>
> Do you have simple examples ?
>
> Jannik
>
>
> > can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
> The base class RTBuilder have both view: and renderIn:; if not specified the builder will create its own view.
> I don't know if this is the intended way, but that's how I use it and it seems to work. :)
> Look at RTComposerExample>>exampleClassAnalysis.
>
> Peter
>
>
> On Fri, Oct 24, 2014 at 4:38 PM, Thierry Goubier <[hidden email]> wrote:
>
>
> 2014-10-24 16:14 GMT+02:00 Peter Uhnák <[hidden email]>:
> I don't believe you can add view to a view, however you can either use the same view in all methods (if you are using builders you can pass view to them, or use renderIn: aView method)
>
> Hi Peter,
>
> can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
>
> Thierry
>
> _______________________________________________
> 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
>
>
>
>
> --
> ~~Jannik Laval~~
> École des Mines de Douai
> Enseignant-chercheur
> http://www.jannik-laval.eu
> http://www.phratch.com
> http://www.approchealpes.info
> http://car.mines-douai.fr/
>
> _______________________________________________
> 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




--

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

Re: Roassal real-time

abergel
Hi Jannik,

You should never use valueWithInterval:
This methods creates threads, and threads are evil. 

If you update Roassal, you will see I’ve added a new class for you, RTActiveAnimation. You can try this:
-=-=-=-=-=-=-=-=
v := RTView new.
element := RTLabel elementOn: '0'.
v add: element.
value := 0.
RTActiveAnimation new 
inView: v;
blockToExecute: [ 
value := value + 1. 
element trachelShape text: value asString. ].
-=-=-=-=-=-=-=-=

Naturally, RTActiveAnimation may need to have some time delay. 
Does it make sense?

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



On Oct 29, 2014, at 1:09 PM, jannik laval <[hidden email]> wrote:

Hi Alex,

So I tried again but I have problems. Here is a sample code I made:

===
| view  el shape|
view := RTView new.
[
el := RTElement forCollection: #(1 2 3).
shape := RTMultiCompositeShape new
add: (RTEllipse new color: Color blue; size: 20);
add: (RTLabel new);
horizontal;
yourself.
el do:[:e | 
e @ RTDraggable; 
+ shape.
].
view elements do:[:e | view removeElement: e].
view addAll: el.
RTGridLayout new on: el.
view signalUpdate.
] valueWithInterval: 1second.
view open
===

This code update the view every seconds, because the collection is changing regularly.

Now, I tried to use a builder to make similar behavior but it has not the right behavior: the shapes are not well placed, and when I place the mouse on a shape, it raises an error.
Here is the code:

===
| c b  |
c := RTComposer new.
b := RTGraphBuilder new.
b view: c view.
[
b nodes 
color: Color blue.
b layout circle.
b cleanView.
b addAll: #(1 2 3).
b build
] valueWithInterval: 1second.
c group.
c layout: RTVerticalLineLayout new.
c open.
===

So, what is your point of view ? What can I improve and how ?
Is any guy of Roassal team coming at Smalltalks 2014 ? I will be at Cordoba and I would like to peer-program with someone who knows well Roassal.

Jannik

2014-10-29 16:25 GMT+01:00 Alexandre Bergel <[hidden email]>:
Ok, let us know!

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



On Oct 29, 2014, at 11:19 AM, jannik laval <[hidden email]> wrote:

Thank you Alex,

I will check all of that.

Jannik

2014-10-28 13:23 GMT+01:00 Alexandre Bergel <[hidden email]>:
There is a chapter on builders:
https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/Builder/0201-Builders.html

Cheers,
Alexandre


> On Oct 24, 2014, at 12:54 PM, jannik laval <[hidden email]> wrote:
>
>
>
> 2014-10-24 16:51 GMT+02:00 Peter Uhnák <[hidden email]>:
> > My point is that I want to do a board with multiple views. I saw that in the Roassal example pane.
> If you mean what I think that's not actually Roassal, that is just regular images. You can always investigate the source code of Roassal>ExampleBrowser package/RTExampleBrowser/RTAbstractExample.
>
> Ok, I don't understood that they are simple image.
> So, I will go to understand builders.
>
> Do you have simple examples ?
>
> Jannik
>
>
> > can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
> The base class RTBuilder have both view: and renderIn:; if not specified the builder will create its own view.
> I don't know if this is the intended way, but that's how I use it and it seems to work. :)
> Look at RTComposerExample>>exampleClassAnalysis.
>
> Peter
>
>
> On Fri, Oct 24, 2014 at 4:38 PM, Thierry Goubier <[hidden email]> wrote:
>
>
> 2014-10-24 16:14 GMT+02:00 Peter Uhnák <[hidden email]>:
> I don't believe you can add view to a view, however you can either use the same view in all methods (if you are using builders you can pass view to them, or use renderIn: aView method)
>
> Hi Peter,
>
> can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
>
> Thierry
>
> _______________________________________________
> 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
>
>
>
>
> --
> ~~Jannik Laval~~
> École des Mines de Douai
> Enseignant-chercheur
> http://www.jannik-laval.eu
> http://www.phratch.com
> http://www.approchealpes.info
> http://car.mines-douai.fr/
>
> _______________________________________________
> 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




--
_______________________________________________
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: Roassal real-time

jannik laval
Thank you Alex, I will try that !
I will need a time delay because my collection of nodes comes from an OSProcess call.

Jannik

2014-10-29 19:38 GMT+01:00 Alexandre Bergel <[hidden email]>:
Hi Jannik,

You should never use valueWithInterval:
This methods creates threads, and threads are evil. 

If you update Roassal, you will see I’ve added a new class for you, RTActiveAnimation. You can try this:
-=-=-=-=-=-=-=-=
v := RTView new.
element := RTLabel elementOn: '0'.
v add: element.
value := 0.
RTActiveAnimation new 
inView: v;
blockToExecute: [ 
value := value + 1. 
element trachelShape text: value asString. ].
-=-=-=-=-=-=-=-=

Naturally, RTActiveAnimation may need to have some time delay. 
Does it make sense?

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



On Oct 29, 2014, at 1:09 PM, jannik laval <[hidden email]> wrote:

Hi Alex,

So I tried again but I have problems. Here is a sample code I made:

===
| view  el shape|
view := RTView new.
[
el := RTElement forCollection: #(1 2 3).
shape := RTMultiCompositeShape new
add: (RTEllipse new color: Color blue; size: 20);
add: (RTLabel new);
horizontal;
yourself.
el do:[:e | 
e @ RTDraggable; 
+ shape.
].
view elements do:[:e | view removeElement: e].
view addAll: el.
RTGridLayout new on: el.
view signalUpdate.
] valueWithInterval: 1second.
view open
===

This code update the view every seconds, because the collection is changing regularly.

Now, I tried to use a builder to make similar behavior but it has not the right behavior: the shapes are not well placed, and when I place the mouse on a shape, it raises an error.
Here is the code:

===
| c b  |
c := RTComposer new.
b := RTGraphBuilder new.
b view: c view.
[
b nodes 
color: Color blue.
b layout circle.
b cleanView.
b addAll: #(1 2 3).
b build
] valueWithInterval: 1second.
c group.
c layout: RTVerticalLineLayout new.
c open.
===

So, what is your point of view ? What can I improve and how ?
Is any guy of Roassal team coming at Smalltalks 2014 ? I will be at Cordoba and I would like to peer-program with someone who knows well Roassal.

Jannik

2014-10-29 16:25 GMT+01:00 Alexandre Bergel <[hidden email]>:
Ok, let us know!

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



On Oct 29, 2014, at 11:19 AM, jannik laval <[hidden email]> wrote:

Thank you Alex,

I will check all of that.

Jannik

2014-10-28 13:23 GMT+01:00 Alexandre Bergel <[hidden email]>:
There is a chapter on builders:
https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/Builder/0201-Builders.html

Cheers,
Alexandre


> On Oct 24, 2014, at 12:54 PM, jannik laval <[hidden email]> wrote:
>
>
>
> 2014-10-24 16:51 GMT+02:00 Peter Uhnák <[hidden email]>:
> > My point is that I want to do a board with multiple views. I saw that in the Roassal example pane.
> If you mean what I think that's not actually Roassal, that is just regular images. You can always investigate the source code of Roassal>ExampleBrowser package/RTExampleBrowser/RTAbstractExample.
>
> Ok, I don't understood that they are simple image.
> So, I will go to understand builders.
>
> Do you have simple examples ?
>
> Jannik
>
>
> > can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
> The base class RTBuilder have both view: and renderIn:; if not specified the builder will create its own view.
> I don't know if this is the intended way, but that's how I use it and it seems to work. :)
> Look at RTComposerExample>>exampleClassAnalysis.
>
> Peter
>
>
> On Fri, Oct 24, 2014 at 4:38 PM, Thierry Goubier <[hidden email]> wrote:
>
>
> 2014-10-24 16:14 GMT+02:00 Peter Uhnák <[hidden email]>:
> I don't believe you can add view to a view, however you can either use the same view in all methods (if you are using builders you can pass view to them, or use renderIn: aView method)
>
> Hi Peter,
>
> can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
>
> Thierry
>
> _______________________________________________
> 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
>
>
>
>
> --
> ~~Jannik Laval~~
> École des Mines de Douai
> Enseignant-chercheur
> http://www.jannik-laval.eu
> http://www.phratch.com
> http://www.approchealpes.info
> http://car.mines-douai.fr/
>
> _______________________________________________
> 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




--
_______________________________________________
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: Roassal real-time

abergel
Ok. Give a try to modify RTActiveAnimation. This is rather easy to do.

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



On Oct 29, 2014, at 3:49 PM, jannik laval <[hidden email]> wrote:

Thank you Alex, I will try that !
I will need a time delay because my collection of nodes comes from an OSProcess call.

Jannik

2014-10-29 19:38 GMT+01:00 Alexandre Bergel <[hidden email]>:
Hi Jannik,

You should never use valueWithInterval:
This methods creates threads, and threads are evil. 

If you update Roassal, you will see I’ve added a new class for you, RTActiveAnimation. You can try this:
-=-=-=-=-=-=-=-=
v := RTView new.
element := RTLabel elementOn: '0'.
v add: element.
value := 0.
RTActiveAnimation new 
inView: v;
blockToExecute: [ 
value := value + 1. 
element trachelShape text: value asString. ].
-=-=-=-=-=-=-=-=

Naturally, RTActiveAnimation may need to have some time delay. 
Does it make sense?

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



On Oct 29, 2014, at 1:09 PM, jannik laval <[hidden email]> wrote:

Hi Alex,

So I tried again but I have problems. Here is a sample code I made:

===
| view  el shape|
view := RTView new.
[
el := RTElement forCollection: #(1 2 3).
shape := RTMultiCompositeShape new
add: (RTEllipse new color: Color blue; size: 20);
add: (RTLabel new);
horizontal;
yourself.
el do:[:e | 
e @ RTDraggable; 
+ shape.
].
view elements do:[:e | view removeElement: e].
view addAll: el.
RTGridLayout new on: el.
view signalUpdate.
] valueWithInterval: 1second.
view open
===

This code update the view every seconds, because the collection is changing regularly.

Now, I tried to use a builder to make similar behavior but it has not the right behavior: the shapes are not well placed, and when I place the mouse on a shape, it raises an error.
Here is the code:

===
| c b  |
c := RTComposer new.
b := RTGraphBuilder new.
b view: c view.
[
b nodes 
color: Color blue.
b layout circle.
b cleanView.
b addAll: #(1 2 3).
b build
] valueWithInterval: 1second.
c group.
c layout: RTVerticalLineLayout new.
c open.
===

So, what is your point of view ? What can I improve and how ?
Is any guy of Roassal team coming at Smalltalks 2014 ? I will be at Cordoba and I would like to peer-program with someone who knows well Roassal.

Jannik

2014-10-29 16:25 GMT+01:00 Alexandre Bergel <[hidden email]>:
Ok, let us know!

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



On Oct 29, 2014, at 11:19 AM, jannik laval <[hidden email]> wrote:

Thank you Alex,

I will check all of that.

Jannik

2014-10-28 13:23 GMT+01:00 Alexandre Bergel <[hidden email]>:
There is a chapter on builders:
https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/Builder/0201-Builders.html

Cheers,
Alexandre


> On Oct 24, 2014, at 12:54 PM, jannik laval <[hidden email]> wrote:
>
>
>
> 2014-10-24 16:51 GMT+02:00 Peter Uhnák <[hidden email]>:
> > My point is that I want to do a board with multiple views. I saw that in the Roassal example pane.
> If you mean what I think that's not actually Roassal, that is just regular images. You can always investigate the source code of Roassal>ExampleBrowser package/RTExampleBrowser/RTAbstractExample.
>
> Ok, I don't understood that they are simple image.
> So, I will go to understand builders.
>
> Do you have simple examples ?
>
> Jannik
>
>
> > can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
> The base class RTBuilder have both view: and renderIn:; if not specified the builder will create its own view.
> I don't know if this is the intended way, but that's how I use it and it seems to work. :)
> Look at RTComposerExample>>exampleClassAnalysis.
>
> Peter
>
>
> On Fri, Oct 24, 2014 at 4:38 PM, Thierry Goubier <[hidden email]> wrote:
>
>
> 2014-10-24 16:14 GMT+02:00 Peter Uhnák <[hidden email]>:
> I don't believe you can add view to a view, however you can either use the same view in all methods (if you are using builders you can pass view to them, or use renderIn: aView method)
>
> Hi Peter,
>
> can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
>
> Thierry
>
> _______________________________________________
> 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
>
>
>
>
> --
> ~~Jannik Laval~~
> École des Mines de Douai
> Enseignant-chercheur
> http://www.jannik-laval.eu
> http://www.phratch.com
> http://www.approchealpes.info
> http://car.mines-douai.fr/
>
> _______________________________________________
> 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




--
_______________________________________________
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


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

Re: Roassal real-time

jannik laval
Hi Alex,

This is really cool to have that.
I will use it for multiple cases.

But in the case I have, I would refresh all the view, because I am not sure of the number of nodes I have (it is given by the OSProcess).
It means that the line "v add: element" should be in the blockToExecute:, but it means that I need to remove other elements. 

Anther question: what is the method trachelShape ? Does it make sense to invoke trachel methods inside a Roassal script ?

Thank you again.
Jannik

2014-10-29 19:54 GMT+01:00 Alexandre Bergel <[hidden email]>:
Ok. Give a try to modify RTActiveAnimation. This is rather easy to do.

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



On Oct 29, 2014, at 3:49 PM, jannik laval <[hidden email]> wrote:

Thank you Alex, I will try that !
I will need a time delay because my collection of nodes comes from an OSProcess call.

Jannik

2014-10-29 19:38 GMT+01:00 Alexandre Bergel <[hidden email]>:
Hi Jannik,

You should never use valueWithInterval:
This methods creates threads, and threads are evil. 

If you update Roassal, you will see I’ve added a new class for you, RTActiveAnimation. You can try this:
-=-=-=-=-=-=-=-=
v := RTView new.
element := RTLabel elementOn: '0'.
v add: element.
value := 0.
RTActiveAnimation new 
inView: v;
blockToExecute: [ 
value := value + 1. 
element trachelShape text: value asString. ].
-=-=-=-=-=-=-=-=

Naturally, RTActiveAnimation may need to have some time delay. 
Does it make sense?

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



On Oct 29, 2014, at 1:09 PM, jannik laval <[hidden email]> wrote:

Hi Alex,

So I tried again but I have problems. Here is a sample code I made:

===
| view  el shape|
view := RTView new.
[
el := RTElement forCollection: #(1 2 3).
shape := RTMultiCompositeShape new
add: (RTEllipse new color: Color blue; size: 20);
add: (RTLabel new);
horizontal;
yourself.
el do:[:e | 
e @ RTDraggable; 
+ shape.
].
view elements do:[:e | view removeElement: e].
view addAll: el.
RTGridLayout new on: el.
view signalUpdate.
] valueWithInterval: 1second.
view open
===

This code update the view every seconds, because the collection is changing regularly.

Now, I tried to use a builder to make similar behavior but it has not the right behavior: the shapes are not well placed, and when I place the mouse on a shape, it raises an error.
Here is the code:

===
| c b  |
c := RTComposer new.
b := RTGraphBuilder new.
b view: c view.
[
b nodes 
color: Color blue.
b layout circle.
b cleanView.
b addAll: #(1 2 3).
b build
] valueWithInterval: 1second.
c group.
c layout: RTVerticalLineLayout new.
c open.
===

So, what is your point of view ? What can I improve and how ?
Is any guy of Roassal team coming at Smalltalks 2014 ? I will be at Cordoba and I would like to peer-program with someone who knows well Roassal.

Jannik

2014-10-29 16:25 GMT+01:00 Alexandre Bergel <[hidden email]>:
Ok, let us know!

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



On Oct 29, 2014, at 11:19 AM, jannik laval <[hidden email]> wrote:

Thank you Alex,

I will check all of that.

Jannik

2014-10-28 13:23 GMT+01:00 Alexandre Bergel <[hidden email]>:
There is a chapter on builders:
https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/Builder/0201-Builders.html

Cheers,
Alexandre


> On Oct 24, 2014, at 12:54 PM, jannik laval <[hidden email]> wrote:
>
>
>
> 2014-10-24 16:51 GMT+02:00 Peter Uhnák <[hidden email]>:
> > My point is that I want to do a board with multiple views. I saw that in the Roassal example pane.
> If you mean what I think that's not actually Roassal, that is just regular images. You can always investigate the source code of Roassal>ExampleBrowser package/RTExampleBrowser/RTAbstractExample.
>
> Ok, I don't understood that they are simple image.
> So, I will go to understand builders.
>
> Do you have simple examples ?
>
> Jannik
>
>
> > can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
> The base class RTBuilder have both view: and renderIn:; if not specified the builder will create its own view.
> I don't know if this is the intended way, but that's how I use it and it seems to work. :)
> Look at RTComposerExample>>exampleClassAnalysis.
>
> Peter
>
>
> On Fri, Oct 24, 2014 at 4:38 PM, Thierry Goubier <[hidden email]> wrote:
>
>
> 2014-10-24 16:14 GMT+02:00 Peter Uhnák <[hidden email]>:
> I don't believe you can add view to a view, however you can either use the same view in all methods (if you are using builders you can pass view to them, or use renderIn: aView method)
>
> Hi Peter,
>
> can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
>
> Thierry
>
> _______________________________________________
> 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
>
>
>
>
> --
> ~~Jannik Laval~~
> École des Mines de Douai
> Enseignant-chercheur
> http://www.jannik-laval.eu
> http://www.phratch.com
> http://www.approchealpes.info
> http://car.mines-douai.fr/
>
> _______________________________________________
> 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




--
_______________________________________________
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


_______________________________________________
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: Roassal real-time

abergel
This is really cool to have that.
I will use it for multiple cases.

Ok!

But in the case I have, I would refresh all the view, because I am not sure of the number of nodes I have (it is given by the OSProcess).
It means that the line "v add: element" should be in the blockToExecute:, but it means that I need to remove other elements. 

It should not be a problem at all I think.

Anther question: what is the method trachelShape ? Does it make sense to invoke trachel methods inside a Roassal script ?

#trachelShape returns a Trachel shape. I use it to modify some properties of the visual element (e.g., the displayed string in my example). If you are simply focusing on adding and removing elements, you do not need to care about trachel shape.

Let us know!

Cheers,
Alexandre


Thank you again.
Jannik

2014-10-29 19:54 GMT+01:00 Alexandre Bergel <[hidden email]>:
Ok. Give a try to modify RTActiveAnimation. This is rather easy to do.

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



On Oct 29, 2014, at 3:49 PM, jannik laval <[hidden email]> wrote:

Thank you Alex, I will try that !
I will need a time delay because my collection of nodes comes from an OSProcess call.

Jannik

2014-10-29 19:38 GMT+01:00 Alexandre Bergel <[hidden email]>:
Hi Jannik,

You should never use valueWithInterval:
This methods creates threads, and threads are evil. 

If you update Roassal, you will see I’ve added a new class for you, RTActiveAnimation. You can try this:
-=-=-=-=-=-=-=-=
v := RTView new.
element := RTLabel elementOn: '0'.
v add: element.
value := 0.
RTActiveAnimation new 
inView: v;
blockToExecute: [ 
value := value + 1. 
element trachelShape text: value asString. ].
-=-=-=-=-=-=-=-=

Naturally, RTActiveAnimation may need to have some time delay. 
Does it make sense?

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



On Oct 29, 2014, at 1:09 PM, jannik laval <[hidden email]> wrote:

Hi Alex,

So I tried again but I have problems. Here is a sample code I made:

===
| view  el shape|
view := RTView new.
[
el := RTElement forCollection: #(1 2 3).
shape := RTMultiCompositeShape new
add: (RTEllipse new color: Color blue; size: 20);
add: (RTLabel new);
horizontal;
yourself.
el do:[:e | 
e @ RTDraggable; 
+ shape.
].
view elements do:[:e | view removeElement: e].
view addAll: el.
RTGridLayout new on: el.
view signalUpdate.
] valueWithInterval: 1second.
view open
===

This code update the view every seconds, because the collection is changing regularly.

Now, I tried to use a builder to make similar behavior but it has not the right behavior: the shapes are not well placed, and when I place the mouse on a shape, it raises an error.
Here is the code:

===
| c b  |
c := RTComposer new.
b := RTGraphBuilder new.
b view: c view.
[
b nodes 
color: Color blue.
b layout circle.
b cleanView.
b addAll: #(1 2 3).
b build
] valueWithInterval: 1second.
c group.
c layout: RTVerticalLineLayout new.
c open.
===

So, what is your point of view ? What can I improve and how ?
Is any guy of Roassal team coming at Smalltalks 2014 ? I will be at Cordoba and I would like to peer-program with someone who knows well Roassal.

Jannik

2014-10-29 16:25 GMT+01:00 Alexandre Bergel <[hidden email]>:
Ok, let us know!

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



On Oct 29, 2014, at 11:19 AM, jannik laval <[hidden email]> wrote:

Thank you Alex,

I will check all of that.

Jannik

2014-10-28 13:23 GMT+01:00 Alexandre Bergel <[hidden email]>:
There is a chapter on builders:
https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/Builder/0201-Builders.html

Cheers,
Alexandre


> On Oct 24, 2014, at 12:54 PM, jannik laval <[hidden email]> wrote:
>
>
>
> 2014-10-24 16:51 GMT+02:00 Peter Uhnák <[hidden email]>:
> > My point is that I want to do a board with multiple views. I saw that in the Roassal example pane.
> If you mean what I think that's not actually Roassal, that is just regular images. You can always investigate the source code of Roassal>ExampleBrowser package/RTExampleBrowser/RTAbstractExample.
>
> Ok, I don't understood that they are simple image.
> So, I will go to understand builders.
>
> Do you have simple examples ?
>
> Jannik
>
>
> > can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
> The base class RTBuilder have both view: and renderIn:; if not specified the builder will create its own view.
> I don't know if this is the intended way, but that's how I use it and it seems to work. :)
> Look at RTComposerExample>>exampleClassAnalysis.
>
> Peter
>
>
> On Fri, Oct 24, 2014 at 4:38 PM, Thierry Goubier <[hidden email]> wrote:
>
>
> 2014-10-24 16:14 GMT+02:00 Peter Uhnák <[hidden email]>:
> I don't believe you can add view to a view, however you can either use the same view in all methods (if you are using builders you can pass view to them, or use renderIn: aView method)
>
> Hi Peter,
>
> can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
>
> Thierry
>
> _______________________________________________
> 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
>
>
>
>
> --
> ~~Jannik Laval~~
> École des Mines de Douai
> Enseignant-chercheur
> http://www.jannik-laval.eu
> http://www.phratch.com
> http://www.approchealpes.info
> http://car.mines-douai.fr/
>
> _______________________________________________
> 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




--
_______________________________________________
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


_______________________________________________
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: Roassal real-time

jannik laval
Ok, thank you Alex,

I understand better how it works.

Jannik

2014-10-30 14:51 GMT+01:00 Alexandre Bergel <[hidden email]>:
This is really cool to have that.
I will use it for multiple cases.

Ok!

But in the case I have, I would refresh all the view, because I am not sure of the number of nodes I have (it is given by the OSProcess).
It means that the line "v add: element" should be in the blockToExecute:, but it means that I need to remove other elements. 

It should not be a problem at all I think.

Anther question: what is the method trachelShape ? Does it make sense to invoke trachel methods inside a Roassal script ?

#trachelShape returns a Trachel shape. I use it to modify some properties of the visual element (e.g., the displayed string in my example). If you are simply focusing on adding and removing elements, you do not need to care about trachel shape.

Let us know!

Cheers,
Alexandre


Thank you again.
Jannik

2014-10-29 19:54 GMT+01:00 Alexandre Bergel <[hidden email]>:
Ok. Give a try to modify RTActiveAnimation. This is rather easy to do.

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



On Oct 29, 2014, at 3:49 PM, jannik laval <[hidden email]> wrote:

Thank you Alex, I will try that !
I will need a time delay because my collection of nodes comes from an OSProcess call.

Jannik

2014-10-29 19:38 GMT+01:00 Alexandre Bergel <[hidden email]>:
Hi Jannik,

You should never use valueWithInterval:
This methods creates threads, and threads are evil. 

If you update Roassal, you will see I’ve added a new class for you, RTActiveAnimation. You can try this:
-=-=-=-=-=-=-=-=
v := RTView new.
element := RTLabel elementOn: '0'.
v add: element.
value := 0.
RTActiveAnimation new 
inView: v;
blockToExecute: [ 
value := value + 1. 
element trachelShape text: value asString. ].
-=-=-=-=-=-=-=-=

Naturally, RTActiveAnimation may need to have some time delay. 
Does it make sense?

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



On Oct 29, 2014, at 1:09 PM, jannik laval <[hidden email]> wrote:

Hi Alex,

So I tried again but I have problems. Here is a sample code I made:

===
| view  el shape|
view := RTView new.
[
el := RTElement forCollection: #(1 2 3).
shape := RTMultiCompositeShape new
add: (RTEllipse new color: Color blue; size: 20);
add: (RTLabel new);
horizontal;
yourself.
el do:[:e | 
e @ RTDraggable; 
+ shape.
].
view elements do:[:e | view removeElement: e].
view addAll: el.
RTGridLayout new on: el.
view signalUpdate.
] valueWithInterval: 1second.
view open
===

This code update the view every seconds, because the collection is changing regularly.

Now, I tried to use a builder to make similar behavior but it has not the right behavior: the shapes are not well placed, and when I place the mouse on a shape, it raises an error.
Here is the code:

===
| c b  |
c := RTComposer new.
b := RTGraphBuilder new.
b view: c view.
[
b nodes 
color: Color blue.
b layout circle.
b cleanView.
b addAll: #(1 2 3).
b build
] valueWithInterval: 1second.
c group.
c layout: RTVerticalLineLayout new.
c open.
===

So, what is your point of view ? What can I improve and how ?
Is any guy of Roassal team coming at Smalltalks 2014 ? I will be at Cordoba and I would like to peer-program with someone who knows well Roassal.

Jannik

2014-10-29 16:25 GMT+01:00 Alexandre Bergel <[hidden email]>:
Ok, let us know!

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



On Oct 29, 2014, at 11:19 AM, jannik laval <[hidden email]> wrote:

Thank you Alex,

I will check all of that.

Jannik

2014-10-28 13:23 GMT+01:00 Alexandre Bergel <[hidden email]>:
There is a chapter on builders:
https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/Builder/0201-Builders.html

Cheers,
Alexandre


> On Oct 24, 2014, at 12:54 PM, jannik laval <[hidden email]> wrote:
>
>
>
> 2014-10-24 16:51 GMT+02:00 Peter Uhnák <[hidden email]>:
> > My point is that I want to do a board with multiple views. I saw that in the Roassal example pane.
> If you mean what I think that's not actually Roassal, that is just regular images. You can always investigate the source code of Roassal>ExampleBrowser package/RTExampleBrowser/RTAbstractExample.
>
> Ok, I don't understood that they are simple image.
> So, I will go to understand builders.
>
> Do you have simple examples ?
>
> Jannik
>
>
> > can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
> The base class RTBuilder have both view: and renderIn:; if not specified the builder will create its own view.
> I don't know if this is the intended way, but that's how I use it and it seems to work. :)
> Look at RTComposerExample>>exampleClassAnalysis.
>
> Peter
>
>
> On Fri, Oct 24, 2014 at 4:38 PM, Thierry Goubier <[hidden email]> wrote:
>
>
> 2014-10-24 16:14 GMT+02:00 Peter Uhnák <[hidden email]>:
> I don't believe you can add view to a view, however you can either use the same view in all methods (if you are using builders you can pass view to them, or use renderIn: aView method)
>
> Hi Peter,
>
> can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
>
> Thierry
>
> _______________________________________________
> 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
>
>
>
>
> --
> ~~Jannik Laval~~
> École des Mines de Douai
> Enseignant-chercheur
> http://www.jannik-laval.eu
> http://www.phratch.com
> http://www.approchealpes.info
> http://car.mines-douai.fr/
>
> _______________________________________________
> 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




--
_______________________________________________
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


_______________________________________________
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




--

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

Re: Roassal real-time

abergel
Ok, let me know how it goes. 

Alexandre 



Le 11-11-2014 à 17:52, jannik laval <[hidden email]> a écrit :

Ok, thank you Alex,

I understand better how it works.

Jannik

2014-10-30 14:51 GMT+01:00 Alexandre Bergel <[hidden email]>:
This is really cool to have that.
I will use it for multiple cases.

Ok!

But in the case I have, I would refresh all the view, because I am not sure of the number of nodes I have (it is given by the OSProcess).
It means that the line "v add: element" should be in the blockToExecute:, but it means that I need to remove other elements. 

It should not be a problem at all I think.

Anther question: what is the method trachelShape ? Does it make sense to invoke trachel methods inside a Roassal script ?

#trachelShape returns a Trachel shape. I use it to modify some properties of the visual element (e.g., the displayed string in my example). If you are simply focusing on adding and removing elements, you do not need to care about trachel shape.

Let us know!

Cheers,
Alexandre


Thank you again.
Jannik

2014-10-29 19:54 GMT+01:00 Alexandre Bergel <[hidden email]>:
Ok. Give a try to modify RTActiveAnimation. This is rather easy to do.

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



On Oct 29, 2014, at 3:49 PM, jannik laval <[hidden email]> wrote:

Thank you Alex, I will try that !
I will need a time delay because my collection of nodes comes from an OSProcess call.

Jannik

2014-10-29 19:38 GMT+01:00 Alexandre Bergel <[hidden email]>:
Hi Jannik,

You should never use valueWithInterval:
This methods creates threads, and threads are evil. 

If you update Roassal, you will see I’ve added a new class for you, RTActiveAnimation. You can try this:
-=-=-=-=-=-=-=-=
v := RTView new.
element := RTLabel elementOn: '0'.
v add: element.
value := 0.
RTActiveAnimation new 
inView: v;
blockToExecute: [ 
value := value + 1. 
element trachelShape text: value asString. ].
-=-=-=-=-=-=-=-=

Naturally, RTActiveAnimation may need to have some time delay. 
Does it make sense?

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



On Oct 29, 2014, at 1:09 PM, jannik laval <[hidden email]> wrote:

Hi Alex,

So I tried again but I have problems. Here is a sample code I made:

===
| view  el shape|
view := RTView new.
[
el := RTElement forCollection: #(1 2 3).
shape := RTMultiCompositeShape new
add: (RTEllipse new color: Color blue; size: 20);
add: (RTLabel new);
horizontal;
yourself.
el do:[:e | 
e @ RTDraggable; 
+ shape.
].
view elements do:[:e | view removeElement: e].
view addAll: el.
RTGridLayout new on: el.
view signalUpdate.
] valueWithInterval: 1second.
view open
===

This code update the view every seconds, because the collection is changing regularly.

Now, I tried to use a builder to make similar behavior but it has not the right behavior: the shapes are not well placed, and when I place the mouse on a shape, it raises an error.
Here is the code:

===
| c b  |
c := RTComposer new.
b := RTGraphBuilder new.
b view: c view.
[
b nodes 
color: Color blue.
b layout circle.
b cleanView.
b addAll: #(1 2 3).
b build
] valueWithInterval: 1second.
c group.
c layout: RTVerticalLineLayout new.
c open.
===

So, what is your point of view ? What can I improve and how ?
Is any guy of Roassal team coming at Smalltalks 2014 ? I will be at Cordoba and I would like to peer-program with someone who knows well Roassal.

Jannik

2014-10-29 16:25 GMT+01:00 Alexandre Bergel <[hidden email]>:
Ok, let us know!

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



On Oct 29, 2014, at 11:19 AM, jannik laval <[hidden email]> wrote:

Thank you Alex,

I will check all of that.

Jannik

2014-10-28 13:23 GMT+01:00 Alexandre Bergel <[hidden email]>:
There is a chapter on builders:
https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/Builder/0201-Builders.html

Cheers,
Alexandre


> On Oct 24, 2014, at 12:54 PM, jannik laval <[hidden email]> wrote:
>
>
>
> 2014-10-24 16:51 GMT+02:00 Peter Uhnák <[hidden email]>:
> > My point is that I want to do a board with multiple views. I saw that in the Roassal example pane.
> If you mean what I think that's not actually Roassal, that is just regular images. You can always investigate the source code of Roassal>ExampleBrowser package/RTExampleBrowser/RTAbstractExample.
>
> Ok, I don't understood that they are simple image.
> So, I will go to understand builders.
>
> Do you have simple examples ?
>
> Jannik
>
>
> > can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
> The base class RTBuilder have both view: and renderIn:; if not specified the builder will create its own view.
> I don't know if this is the intended way, but that's how I use it and it seems to work. :)
> Look at RTComposerExample>>exampleClassAnalysis.
>
> Peter
>
>
> On Fri, Oct 24, 2014 at 4:38 PM, Thierry Goubier <[hidden email]> wrote:
>
>
> 2014-10-24 16:14 GMT+02:00 Peter Uhnák <[hidden email]>:
> I don't believe you can add view to a view, however you can either use the same view in all methods (if you are using builders you can pass view to them, or use renderIn: aView method)
>
> Hi Peter,
>
> can you give an example? Does that mean all builders have a view: method (or is that renderIn:?). I'm interested because I'd like to mix builders.
>
> Thierry
>
> _______________________________________________
> 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
>
>
>
>
> --
> ~~Jannik Laval~~
> École des Mines de Douai
> Enseignant-chercheur
> http://www.jannik-laval.eu
> http://www.phratch.com
> http://www.approchealpes.info
> http://car.mines-douai.fr/
>
> _______________________________________________
> 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




--
_______________________________________________
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


_______________________________________________
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




--
_______________________________________________
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
12