Today is a good day!
Open a Mondrian easel on a FAMIXClassGroup and execute: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= view interaction popupView: [:entity :aView | entity viewBlueprintOn: aView]. view shape rectangle width: #numberOfMethods; height: #numberOfAttributes. view nodes: classGroup. view edgesFrom: #superclass. view treeLayout -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Following the idea of Doru, the nice things is that you can have popup on a popup. Execute the following in a MOEasel, and move the mouse in the popup. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= view interaction popupView: [:entity :aView | aView interaction popupView: [: anentity :aView2 | aView2 nodes: (1 to: 20)]. aView nodes: (1 to: 20)]. view nodes: (1 to: 20). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
popupView: accept a Two arguments block. If you forget one, then the image freeze. This is a know issue, we're working on it....
Alexandre
Works like a charm! Thanks a lot, Alex!
On 01 Dec 2009, at 15:36, Alexandre Bergel wrote:
Today is a good day!
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Thanks. But it is still a bit buggy actually. But nothing severe.
Alexandre
On 1 Dec 2009, at 16:23, Johan Fabry wrote:
Works like a charm! Thanks a lot, Alex!
On 01 Dec 2009, at 15:36, Alexandre Bergel wrote:
Today is a good day!
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Indeed, it works.
Regarding the problem with the number of arguments in the block. Why is it crashing the image?
Anyway, you might want to use an approach similar to the implementation of glamourValue: in Glamour.
Cheers, Doru
On 1 Dec 2009, at 20:38, Alexandre Bergel wrote:
Thanks. But it is still a bit buggy actually. But nothing severe.
Alexandre
On 1 Dec 2009, at 16:23, Johan Fabry wrote:
Works like a charm! Thanks a lot, Alex!
On 01 Dec 2009, at 15:36, Alexandre Bergel wrote:
Today is a good day!
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
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."
On 01 Dec 2009, at 16:52, Tudor Girba wrote:
Indeed, it works.
Regarding the problem with the number of arguments in the block. Why is it crashing the image?
The underlying (Pharo) reason is not clear, sadly. I have problems with that (http://code.google.com/p/pharo/issues/detail?id=1525 ) and this has been talked about in the thread 'Is there something wrong in debugging in the Morphic thread?' in the Pharo mailing list.
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Regarding the problem with the number of arguments in the block. Why is it crashing the image?
The image is not crashing actually. It just hangs on forever without giving a chance to interrupt the process.
Anyway, you might want to use an approach similar to the implementation of glamourValue: in Glamour.
It could be a nice fix, but clearly not a general solution. The image hangs because of a bug in Squeak/Pharo. For some reason, the exception thrown by the virtual machine is not properly caught. This is a hard problem that will need to be fixed some days.
Alexandre
On 1 Dec 2009, at 20:38, Alexandre Bergel wrote:
Thanks. But it is still a bit buggy actually. But nothing severe.
Alexandre
On 1 Dec 2009, at 16:23, Johan Fabry wrote:
Works like a charm! Thanks a lot, Alex!
On 01 Dec 2009, at 15:36, Alexandre Bergel wrote:
Today is a good day!
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
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
Do you have a example that we can reproduce?
Stef
On Dec 1, 2009, at 9:23 PM, Alexandre Bergel wrote:
Regarding the problem with the number of arguments in the block. Why is it crashing the image?
The image is not crashing actually. It just hangs on forever without giving a chance to interrupt the process.
Anyway, you might want to use an approach similar to the implementation of glamourValue: in Glamour.
It could be a nice fix, but clearly not a general solution. The image hangs because of a bug in Squeak/Pharo. For some reason, the exception thrown by the virtual machine is not properly caught. This is a hard problem that will need to be fixed some days.
Alexandre
On 1 Dec 2009, at 20:38, Alexandre Bergel wrote:
Thanks. But it is still a bit buggy actually. But nothing severe.
Alexandre
On 1 Dec 2009, at 16:23, Johan Fabry wrote:
Works like a charm! Thanks a lot, Alex!
On 01 Dec 2009, at 15:36, Alexandre Bergel wrote:
Today is a good day!
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
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
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Hi Stef, this is the same behavior as what I reported in http://code.google.com/p/pharo/issues/detail?id=1525 and http://code.google.com/p/moose-technology/issues/detail?id=237 How to reproduce is also there. On 02 Dec 2009, at 08:30, Stéphane Ducasse wrote:
Do you have a example that we can reproduce?
Stef
On Dec 1, 2009, at 9:23 PM, Alexandre Bergel wrote:
Regarding the problem with the number of arguments in the block. Why is it crashing the image?
The image is not crashing actually. It just hangs on forever without giving a chance to interrupt the process.
Anyway, you might want to use an approach similar to the implementation of glamourValue: in Glamour.
It could be a nice fix, but clearly not a general solution. The image hangs because of a bug in Squeak/Pharo. For some reason, the exception thrown by the virtual machine is not properly caught. This is a hard problem that will need to be fixed some days.
Alexandre
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hi Johan,
I just noticed that you used "self halt" in your example.
The problem is that if you put it in the rendering code this will basically get invoked every 30 ms. A more practical solution is to use haltOnce. This is the same as halt, only that it is guarded by a global flag. Just make sure that you enable it from the Debug world menu.
Cheers, Doru
On 2 Dec 2009, at 13:10, Johan Fabry wrote:
Hi Stef, this is the same behavior as what I reported in http://code.google.com/p/pharo/issues/detail?id=1525 and http://code.google.com/p/moose-technology/issues/detail?id=237 How to reproduce is also there. On 02 Dec 2009, at 08:30, Stéphane Ducasse wrote:
Do you have a example that we can reproduce?
Stef
On Dec 1, 2009, at 9:23 PM, Alexandre Bergel wrote:
Regarding the problem with the number of arguments in the block. Why is it crashing the image?
The image is not crashing actually. It just hangs on forever without giving a chance to interrupt the process.
Anyway, you might want to use an approach similar to the implementation of glamourValue: in Glamour.
It could be a nice fix, but clearly not a general solution. The image hangs because of a bug in Squeak/Pharo. For some reason, the exception thrown by the virtual machine is not properly caught. This is a hard problem that will need to be fixed some days.
Alexandre
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"Relationships are of two kinds: those we choose and those that happen. They both matter."
Hmm, OK I understand the problem. I suppose this produces the similar problem of unresponsive image if a wrong-number-of-args block is passed to Mondrian. So now the questions are: - why can I do the same in VisualWorks without any problems? - how can we get the same behavior in Pharo?
On 02 Dec 2009, at 10:21, Tudor Girba wrote:
Hi Johan,
I just noticed that you used "self halt" in your example.
The problem is that if you put it in the rendering code this will basically get invoked every 30 ms. A more practical solution is to use haltOnce. This is the same as halt, only that it is guarded by a global flag. Just make sure that you enable it from the Debug world menu.
Cheers, Doru
On 2 Dec 2009, at 13:10, Johan Fabry wrote:
Hi Stef, this is the same behavior as what I reported in http://code.google.com/p/pharo/issues/detail?id=1525and http://code.google.com/p/moose-technology/issues/detail?id=237 How to reproduce is also there.
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
This is mainly because the UI logic is completely different. As far as I understand, in Morphic you get a loop that is dedicated for displaying the UI (much like in games user interface).
Cheers, Doru
On 2 Dec 2009, at 14:59, Johan Fabry wrote:
Hmm, OK I understand the problem. I suppose this produces the similar problem of unresponsive image if a wrong-number-of-args block is passed to Mondrian. So now the questions are:
- why can I do the same in VisualWorks without any problems?
- how can we get the same behavior in Pharo?
On 02 Dec 2009, at 10:21, Tudor Girba wrote:
Hi Johan,
I just noticed that you used "self halt" in your example.
The problem is that if you put it in the rendering code this will basically get invoked every 30 ms. A more practical solution is to use haltOnce. This is the same as halt, only that it is guarded by a global flag. Just make sure that you enable it from the Debug world menu.
Cheers, Doru
On 2 Dec 2009, at 13:10, Johan Fabry wrote:
Hi Stef, this is the same behavior as what I reported in http://code.google.com/p/pharo/issues/detail?id=1525and http://code.google.com/p/moose-technology/issues/detail?id=237 How to reproduce is also there.
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"Value is always contextual."
So what basically shoud be done in Pharo is that a halt in the Morphic loop thread should behave like a haltOnce ?
On 02 Dec 2009, at 11:04, Tudor Girba wrote:
This is mainly because the UI logic is completely different. As far as I understand, in Morphic you get a loop that is dedicated for displaying the UI (much like in games user interface).
Cheers, Doru
On 2 Dec 2009, at 14:59, Johan Fabry wrote:
Hmm, OK I understand the problem. I suppose this produces the similar problem of unresponsive image if a wrong-number-of-args block is passed to Mondrian. So now the questions are:
- why can I do the same in VisualWorks without any problems?
- how can we get the same behavior in Pharo?
On 02 Dec 2009, at 10:21, Tudor Girba wrote:
Hi Johan,
I just noticed that you used "self halt" in your example.
The problem is that if you put it in the rendering code this will basically get invoked every 30 ms. A more practical solution is to use haltOnce. This is the same as halt, only that it is guarded by a global flag. Just make sure that you enable it from the Debug world menu.
Cheers, Doru
On 2 Dec 2009, at 13:10, Johan Fabry wrote:
Hi Stef, this is the same behavior as what I reported in http://code.google.com/p/pharo/issues/detail?id=1525and http://code.google.com/p/moose-technology/issues/detail?id=237 How to reproduce is also there.
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"Value is always contextual."
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
The problem is that if you put it in the rendering code this will basically get invoked every 30 ms. A more practical solution is to use haltOnce. This is the same as halt, only that it is guarded by a global flag. Just make sure that you enable it from the Debug world menu.
I am not expert in Morphic, but I feel there is a bug in how exceptions in Morph are handled. Create a subclass of Morph and put a "self halt" (or "1/0") in the drawOn: method. Open the morph and it will appear in red, telling that there is an error in the render loop.
Now, for some reason, when blocks are heavily, the image freeze. I tried to isolate the error (i.e., without Mondrian), but I could not figure out how to do it.
Alexandre
Cheers, Doru
On 2 Dec 2009, at 13:10, Johan Fabry wrote:
Hi Stef, this is the same behavior as what I reported in http://code.google.com/p/pharo/issues/detail?id=1525 and http://code.google.com/p/moose-technology/issues/detail?id=237 How to reproduce is also there. On 02 Dec 2009, at 08:30, Stéphane Ducasse wrote:
Do you have a example that we can reproduce?
Stef
On Dec 1, 2009, at 9:23 PM, Alexandre Bergel wrote:
Regarding the problem with the number of arguments in the block. Why is it crashing the image?
The image is not crashing actually. It just hangs on forever without giving a chance to interrupt the process.
Anyway, you might want to use an approach similar to the implementation of glamourValue: in Glamour.
It could be a nice fix, but clearly not a general solution. The image hangs because of a bug in Squeak/Pharo. For some reason, the exception thrown by the virtual machine is not properly caught. This is a hard problem that will need to be fixed some days.
Alexandre
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"Relationships are of two kinds: those we choose and those that happen. They both matter."
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
but nobody will load mondrian to fix pharo. this is why this would be nice to get a non mondrian snippet showing the problem Stef
On Dec 2, 2009, at 1:10 PM, Johan Fabry wrote:
Hi Stef, this is the same behavior as what I reported in http://code.google.com/p/pharo/issues/detail?id=1525 and http://code.google.com/p/moose-technology/issues/detail?id=237 How to reproduce is also there. On 02 Dec 2009, at 08:30, Stéphane Ducasse wrote:
Do you have a example that we can reproduce?
Stef
On Dec 1, 2009, at 9:23 PM, Alexandre Bergel wrote:
Regarding the problem with the number of arguments in the block. Why is it crashing the image?
The image is not crashing actually. It just hangs on forever without giving a chance to interrupt the process.
Anyway, you might want to use an approach similar to the implementation of glamourValue: in Glamour.
It could be a nice fix, but clearly not a general solution. The image hangs because of a bug in Squeak/Pharo. For some reason, the exception thrown by the virtual machine is not properly caught. This is a hard problem that will need to be fixed some days.
Alexandre
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev