Hi all,
part of AspectMaps is a polymetric view of classes and aspects. For that I want to use Glamour to specify the metrics for the dimension. The code below shows what I have (and will embed in another browser at some point) which leads me to 2 questions and a bug.
First question: how can I let each browser show its title? With 6 of these it's easy to be confused which is which. Second question: at some point in the mondrian script I need to retrieve the selections in each browser. (I dont want to automatically repaint when a selection is changed). How can I do this? I have tried to get both of these things to work myself but I'm not having any success ...
The bug: in the code below add a size: 100 to both column specifications, and you get a nice ZeroDivide error :-/
| browser mprops cprops aprops|
cprops := #(CLOC NumMeth NumAtt NumJP NumAsp). aprops := #(ALOC NumPC NumAdv NumJPP). mprops := #(MLOC MNumJP MNumAsp). browser := GLMTabulator new. browser column: [: c | c row: #cheight; row: #aheight; row: #mheight]; column: [: c | c row: #cwidth; row: #awidth; row: #mwidth]. browser showOn: #cheight; using: [ browser tree title: 'Classes Height'; display: cprops.]. browser showOn: #cwidth; using: [ browser tree title: 'Classes Width'; display: cprops.]. browser showOn: #aheight; using: [ browser tree title: 'Aspects Height'; display: aprops.]. browser showOn: #awidth; using: [ browser tree title: 'Aspects Width'; display: aprops.]. browser showOn: #mheight; using: [ browser tree title: 'Methods Height'; display: mprops.]. browser showOn: #mwidth; using: [ browser tree title: 'Methods Width'; display: mprops.]. browser openOn: 'Select' -- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hi Johan,
part of AspectMaps is a polymetric view of classes and aspects. For that I want to use Glamour to specify the metrics for the dimension.
Pretty nice :).
The code below shows what I have (and will embed in another browser at some point) which leads me to 2 questions and a bug.
First question: how can I let each browser show its title? With 6 of these it's easy to be confused which is which.
You hit another issue that is on the to do list, unfortunately. I saw that actually I forgot to open an issue, so I created a new one: http://code.google.com/p/moose-technology/issues/detail?id=259
But, just to make communication easier, here is a short sentence that summarizes the main terms in Glamour: A Browser is composed of Panes that are displayed via one or more Presentations.
So, in your case, you actually refer to the presentations or to the panes, and not to the browser.
Second question: at some point in the mondrian script I need to retrieve the selections in each browser. (I dont want to automatically repaint when a selection is changed). How can I do this?
As I understand, you will want to embed this browser in another browser (let's call this the outerBrowser). As a browser encapsulates the internal state, you have to explicitly specify what gets out and under what name. To do that, you will have to do something line:
browser sendToOutside: #selectedCHeight from: #cheight.
Afterwards, in the outerBrowser you might have something like:
outerBrowser column: #main; column: #properties. outerBrowser showOn: #properties; using: [ outerBrowser custom: browser ]. outerBrowser showOn: #main; fromOutside: #entity; from: #properties-
#selectedCHeight ...
I have tried to get both of these things to work myself but I'm not having any success ...
The bug: in the code below add a size: 100 to both column specifications, and you get a nice ZeroDivide error :-/
The fix size panes are not properly supported by the MorphicRenderer : (, so this will have to wait again. http://code.google.com/p/moose-technology/issues/detail?id=184
Cheers, Doru
| browser mprops cprops aprops|
cprops := #(CLOC NumMeth NumAtt NumJP NumAsp). aprops := #(ALOC NumPC NumAdv NumJPP). mprops := #(MLOC MNumJP MNumAsp). browser := GLMTabulator new. browser column: [: c | c row: #cheight; row: #aheight; row: #mheight]; column: [: c | c row: #cwidth; row: #awidth; row: #mwidth]. browser showOn: #cheight; using: [ browser tree title: 'Classes Height'; display: cprops.]. browser showOn: #cwidth; using: [ browser tree title: 'Classes Width'; display: cprops.]. browser showOn: #aheight; using: [ browser tree title: 'Aspects Height'; display: aprops.]. browser showOn: #awidth; using: [ browser tree title: 'Aspects Width'; display: aprops.]. browser showOn: #mheight; using: [ browser tree title: 'Methods Height'; display: mprops.]. browser showOn: #mwidth; using: [ browser tree title: 'Methods Width'; display: mprops.].
browser openOn: 'Select'
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
"Beauty is where we see it."
On 12 Dec 2009, at 19:06, Tudor Girba wrote:
Hi Johan,
part of AspectMaps is a polymetric view of classes and aspects. For that I want to use Glamour to specify the metrics for the dimension.
Pretty nice :).
Thanks :-) I would like to use Glamour for all the 'configuration' parts, and Mondrian for rendering the visualization. I hope I can get everything working together well ...
The code below shows what I have (and will embed in another browser at some point) which leads me to 2 questions and a bug.
First question: how can I let each browser show its title? With 6 of these it's easy to be confused which is which.
You hit another issue that is on the to do list, unfortunately. I saw that actually I forgot to open an issue, so I created a new one: http://code.google.com/p/moose-technology/issues/detail?id=259
OK :-( In the mean time is there a way to have a layout where there is a label above each presentation? The label would then hold the title ...
But, just to make communication easier, here is a short sentence that summarizes the main terms in Glamour: A Browser is composed of Panes that are displayed via one or more Presentations.
So, in your case, you actually refer to the presentations or to the panes, and not to the browser.
Thanks, sorry for the confusion.
Second question: at some point in the mondrian script I need to retrieve the selections in each browser. (I dont want to automatically repaint when a selection is changed). How can I do this?
As I understand, you will want to embed this browser in another browser (let's call this the outerBrowser). As a browser encapsulates the internal state, you have to explicitly specify what gets out and under what name. To do that, you will have to do something line:
browser sendToOutside: #selectedCHeight from: #cheight.
Afterwards, in the outerBrowser you might have something like:
outerBrowser column: #main; column: #properties. outerBrowser showOn: #properties; using: [ outerBrowser custom: browser ]. outerBrowser showOn: #main; fromOutside: #entity; from: #properties-
#selectedCHeight ...
I understand the sendToOutside: part, but I dont see how the outside receives these selection messages and can store the selections, e.g. in a local variable. Can you enlighten me here?
The bug: in the code below add a size: 100 to both column specifications, and you get a nice ZeroDivide error :-/
The fix size panes are not properly supported by the MorphicRenderer :(, so this will have to wait again. http://code.google.com/p/moose-technology/issues/detail?id=184
Bad luck on my part, but OK this is not that important ;-)
Thanks for the help! -- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hi Johan,
Hi Johan,
part of AspectMaps is a polymetric view of classes and aspects. For that I want to use Glamour to specify the metrics for the dimension.
Pretty nice :).
Thanks :-) I would like to use Glamour for all the 'configuration' parts, and Mondrian for rendering the visualization. I hope I can get everything working together well ...
The code below shows what I have (and will embed in another browser at some point) which leads me to 2 questions and a bug.
First question: how can I let each browser show its title? With 6 of these it's easy to be confused which is which.
You hit another issue that is on the to do list, unfortunately. I saw that actually I forgot to open an issue, so I created a new one: http://code.google.com/p/moose-technology/issues/detail?id=259
OK :-( In the mean time is there a way to have a layout where there is a label above each presentation? The label would then hold the title ...
Nope :(, but I hope that in a short while there will be.
But, just to make communication easier, here is a short sentence that summarizes the main terms in Glamour: A Browser is composed of Panes that are displayed via one or more Presentations.
So, in your case, you actually refer to the presentations or to the panes, and not to the browser.
Thanks, sorry for the confusion.
No problem :).
Second question: at some point in the mondrian script I need to retrieve the selections in each browser. (I dont want to automatically repaint when a selection is changed). How can I do this?
As I understand, you will want to embed this browser in another browser (let's call this the outerBrowser). As a browser encapsulates the internal state, you have to explicitly specify what gets out and under what name. To do that, you will have to do something line:
browser sendToOutside: #selectedCHeight from: #cheight.
Afterwards, in the outerBrowser you might have something like:
outerBrowser column: #main; column: #properties. outerBrowser showOn: #properties; using: [ outerBrowser custom: browser ]. outerBrowser showOn: #main; fromOutside: #entity; from: #properties-
#selectedCHeight ...
I understand the sendToOutside: part, but I dont see how the outside receives these selection messages and can store the selections, e.g. in a local variable. Can you enlighten me here?
When you have multiple #from: statements, you will get multiple variables in the #display: block. Something like this: outerBrowser showOn: #main; fromOutside: #entity; from: #properties-
#selectedCHeight; #properties->#selectedCWidth; using: [
browser mondrian painting: [:view :cheight :cwidth | ... ] ]
The bug: in the code below add a size: 100 to both column specifications, and you get a nice ZeroDivide error :-/
The fix size panes are not properly supported by the MorphicRenderer :(, so this will have to wait again. http://code.google.com/p/moose-technology/issues/detail?id=184
Bad luck on my part, but OK this is not that important ;-)
:)
Cheers, Doru
Thanks for the help!
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
"Reasonable is what we are accustomed with."
On 14 Dec 2009, at 12:16, Tudor Girba wrote:
I understand the sendToOutside: part, but I dont see how the outside receives these selection messages and can store the selections, e.g. in a local variable. Can you enlighten me here?
When you have multiple #from: statements, you will get multiple variables in the #display: block. Something like this: outerBrowser showOn: #main; fromOutside: #entity; from: #properties-
#selectedCHeight; #properties->#selectedCWidth; using: [
browser mondrian painting: [:view :cheight :cwidth | ... ] ]
OK we are almost there ... one last hitch (see test code below). if I dont add allowNil the text browser only shows text if all 6 lists have a selection. I want to be able to have a list without selection (= no metric), so I added allowNil, but that always shows the text nilnilnilnilnilnil . How do I fix this? Thanks in advance!
| browser |
browser := GLMTabulator new. browser row: #selections; row: #selectionStatus. browser showOn: #selections; using: [browser custom: AMUI new propertiesSelector2 ].
browser showOn: #selectionStatus; from: #selections->#selCwidth; from: #selections->#selCheight; from: #selections->#selAwidth; from: #selections->#selAheight; from: #selections->#selMwidth; from: #selections->#selMheight; using: [browser text display: [ :cw :ch :aw :ah :mw :mh | ch asString, cw asString , ah asString, aw asString, mh asString, mw asString]; allowNil ].
browser openOn: #()
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
On 14 déc. 2009, at 22:11, Johan Fabry wrote:
On 14 Dec 2009, at 12:16, Tudor Girba wrote:
I understand the sendToOutside: part, but I dont see how the outside receives these selection messages and can store the selections, e.g. in a local variable. Can you enlighten me here?
When you have multiple #from: statements, you will get multiple variables in the #display: block. Something like this: outerBrowser showOn: #main; fromOutside: #entity; from: #properties->#selectedCHeight; #properties->#selectedCWidth; using: [ browser mondrian painting: [:view :cheight :cwidth | ... ] ]
OK we are almost there ... one last hitch (see test code below). if I dont add allowNil the text browser only shows text if all 6 lists have a selection. I want to be able to have a list without selection (= no metric), so I added allowNil, but that always shows the text nilnilnilnilnilnil . How do I fix this? Thanks in advance!
| browser |
browser := GLMTabulator new. browser row: #selections; row: #selectionStatus. browser showOn: #selections; using: [browser custom: AMUI new propertiesSelector2 ].
browser showOn: #selectionStatus; from: #selections->#selCwidth; from: #selections->#selCheight; from: #selections->#selAwidth; from: #selections->#selAheight; from: #selections->#selMwidth; from: #selections->#selMheight; using: [browser text display: [ :cw :ch :aw :ah :mw :mh | ch asString, cw asString , ah asString, aw asString, mh asString, mw asString]; allowNil ].
Usually one inserts a when: clause to activate the pane when a specific parameter is not nil (because at least one should be not nil to display something). But in your case it seems different: the status is always active, but it should filter the nil in its display: block
Something like (warning, not tested!)
using: [browser text display: [ :cw :ch :aw :ah :mw :mh | {cw. ch. aw. ah. mw. mh} select: #notNil thenCollect: #asString ]; allowNil ].
-- Simon
On 14 Dec 2009, at 18:52, Simon Denier wrote:
OK we are almost there ... one last hitch (see test code below). if I dont add allowNil the text browser only shows text if all 6 lists have a selection. I want to be able to have a list without selection (= no metric), so I added allowNil, but that always shows the text nilnilnilnilnilnil . How do I fix this? Thanks in advance!
| browser |
browser := GLMTabulator new. browser row: #selections; row: #selectionStatus. browser showOn: #selections; using: [browser custom: AMUI new propertiesSelector2 ].
browser showOn: #selectionStatus; from: #selections->#selCwidth; from: #selections->#selCheight; from: #selections->#selAwidth; from: #selections->#selAheight; from: #selections->#selMwidth; from: #selections->#selMheight; using: [browser text display: [ :cw :ch :aw :ah :mw :mh | ch asString, cw asString , ah asString, aw asString, mh asString, mw asString]; allowNil ].
Usually one inserts a when: clause to activate the pane when a specific parameter is not nil (because at least one should be not nil to display something). But in your case it seems different: the status is always active, but it should filter the nil in its display: block
Something like (warning, not tested!)
using: [browser text display: [ :cw :ch :aw :ah :mw :mh | {cw. ch. aw. ah. mw. mh} select: #notNil thenCollect: #asString ]; allowNil ].
Thanks for helping out, but the problem remains the same: the parameters passed to the block are *always* nil when I allowNil, and when I dont allowNil the browser only displays the parameters when all 6 lists have a selection. a when: does not help here (in either of both cases).
Anybody got any other ideas?
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hi Johan,
It looks like you did not export properly the ports from the inner browser (propertiesSelector2). Could you paste that here?
Cheers, Doru
On 15 Dec 2009, at 02:02, Johan Fabry wrote:
On 14 Dec 2009, at 18:52, Simon Denier wrote:
OK we are almost there ... one last hitch (see test code below). if I dont add allowNil the text browser only shows text if all 6 lists have a selection. I want to be able to have a list without selection (= no metric), so I added allowNil, but that always shows the text nilnilnilnilnilnil . How do I fix this? Thanks in advance!
| browser |
browser := GLMTabulator new. browser row: #selections; row: #selectionStatus. browser showOn: #selections; using: [browser custom: AMUI new propertiesSelector2 ].
browser showOn: #selectionStatus; from: #selections->#selCwidth; from: #selections->#selCheight; from: #selections->#selAwidth; from: #selections->#selAheight; from: #selections->#selMwidth; from: #selections->#selMheight; using: [browser text display: [ :cw :ch :aw :ah :mw :mh | ch asString, cw asString , ah asString, aw asString, mh asString, mw asString]; allowNil ].
Usually one inserts a when: clause to activate the pane when a specific parameter is not nil (because at least one should be not nil to display something). But in your case it seems different: the status is always active, but it should filter the nil in its display: block
Something like (warning, not tested!)
using: [browser text display: [ :cw :ch :aw :ah :mw :mh | {cw. ch. aw. ah. mw. mh} select: #notNil thenCollect: #asString ]; allowNil ].
Thanks for helping out, but the problem remains the same: the parameters passed to the block are *always* nil when I allowNil, and when I dont allowNil the browser only displays the parameters when all 6 lists have a selection. a when: does not help here (in either of both cases).
Anybody got any other ideas?
-- 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
"Next time you see your life passing by, say 'hi' and get to know her."
Hi Doru,
below is the code, thanks!
propertiesSelector2 | browser mprops cprops aprops |
cprops := {'Classes LOC'. 'Num Methods'. 'Num Attributes' . 'Num JoinPoints' . 'Num Aspects'}. aprops := {'Aspects LOC' . 'Num Pointcuts' . 'Num Advice' . 'Num JoinPoints'}. mprops := {'Methods LOC' . 'Num JoinPoints' . 'Num Aspects'}. browser := GLMTabulator new. browser column: [: c | c row: #cheight; row: #aheight; row: #mheight]; column: [: c | c row: #cwidth; row: #awidth; row: #mwidth]. browser showOn: #cheight; using: [ browser tree title: 'Classes Height'; display: cprops.]. browser showOn: #cwidth; using: [ browser tree title: 'Classes Width'; display: cprops]. browser showOn: #aheight; using: [ browser tree title: 'Aspects Height'; display: aprops.]. browser showOn: #awidth; using: [ browser tree title: 'Aspects Width'; display: aprops.]. browser showOn: #mheight; using: [ browser tree title: 'Methods Height'; display: mprops.]. browser showOn: #mwidth; using: [ browser tree title: 'Methods Width'; display: mprops.]. browser sendToOutside: #selCheight from: #cheight. browser sendToOutside: #selCwidth from: #cwidth. browser sendToOutside: #selAheight from: #aheight. browser sendToOutside: #selAwidth from: #awidth. browser sendToOutside: #selMheight from: #mheight. browser sendToOutside: #selMwidth from: #mwidth. ^ browser
On 15 Dec 2009, at 07:26, Tudor Girba wrote:
Hi Johan,
It looks like you did not export properly the ports from the inner browser (propertiesSelector2). Could you paste that here?
Cheers, Doru
On 15 Dec 2009, at 02:02, Johan Fabry wrote:
On 14 Dec 2009, at 18:52, Simon Denier wrote:
OK we are almost there ... one last hitch (see test code below). if I dont add allowNil the text browser only shows text if all 6 lists have a selection. I want to be able to have a list without selection (= no metric), so I added allowNil, but that always shows the text nilnilnilnilnilnil . How do I fix this? Thanks in advance!
| browser |
browser := GLMTabulator new. browser row: #selections; row: #selectionStatus. browser showOn: #selections; using: [browser custom: AMUI new propertiesSelector2 ].
browser showOn: #selectionStatus; from: #selections->#selCwidth; from: #selections->#selCheight; from: #selections->#selAwidth; from: #selections->#selAheight; from: #selections->#selMwidth; from: #selections->#selMheight; using: [browser text display: [ :cw :ch :aw :ah :mw :mh | ch asString, cw asString , ah asString, aw asString, mh asString, mw asString]; allowNil ].
Usually one inserts a when: clause to activate the pane when a specific parameter is not nil (because at least one should be not nil to display something). But in your case it seems different: the status is always active, but it should filter the nil in its display: block
Something like (warning, not tested!)
using: [browser text display: [ :cw :ch :aw :ah :mw :mh | {cw. ch. aw. ah. mw. mh} select: #notNil thenCollect: #asString ]; allowNil ].
Thanks for helping out, but the problem remains the same: the parameters passed to the block are *always* nil when I allowNil, and when I dont allowNil the browser only displays the parameters when all 6 lists have a selection. a when: does not help here (in either of both cases).
Anybody got any other ideas?
-- 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
"Next time you see your life passing by, say 'hi' and get to know her."
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
Please try something like: browser sendToOutside: #selCheight from: #cheight->#selection.
but normally your version should work
On 15 déc. 2009, at 15:36, Johan Fabry wrote:
Hi Doru,
below is the code, thanks!
propertiesSelector2 | browser mprops cprops aprops |
cprops := {'Classes LOC'. 'Num Methods'. 'Num Attributes' . 'Num JoinPoints' . 'Num Aspects'}. aprops := {'Aspects LOC' . 'Num Pointcuts' . 'Num Advice' . 'Num JoinPoints'}. mprops := {'Methods LOC' . 'Num JoinPoints' . 'Num Aspects'}. browser := GLMTabulator new. browser column: [: c | c row: #cheight; row: #aheight; row: #mheight]; column: [: c | c row: #cwidth; row: #awidth; row: #mwidth]. browser showOn: #cheight; using: [ browser tree title: 'Classes Height'; display: cprops.]. browser showOn: #cwidth; using: [ browser tree title: 'Classes Width'; display: cprops]. browser showOn: #aheight; using: [ browser tree title: 'Aspects Height'; display: aprops.]. browser showOn: #awidth; using: [ browser tree title: 'Aspects Width'; display: aprops.]. browser showOn: #mheight; using: [ browser tree title: 'Methods Height'; display: mprops.]. browser showOn: #mwidth; using: [ browser tree title: 'Methods Width'; display: mprops.]. browser sendToOutside: #selCheight from: #cheight. browser sendToOutside: #selCwidth from: #cwidth. browser sendToOutside: #selAheight from: #aheight. browser sendToOutside: #selAwidth from: #awidth. browser sendToOutside: #selMheight from: #mheight. browser sendToOutside: #selMwidth from: #mwidth.
^ browser
On 15 Dec 2009, at 07:26, Tudor Girba wrote:
Hi Johan,
It looks like you did not export properly the ports from the inner browser (propertiesSelector2). Could you paste that here?
Cheers, Doru
On 15 Dec 2009, at 02:02, Johan Fabry wrote:
On 14 Dec 2009, at 18:52, Simon Denier wrote:
OK we are almost there ... one last hitch (see test code below). if I dont add allowNil the text browser only shows text if all 6 lists have a selection. I want to be able to have a list without selection (= no metric), so I added allowNil, but that always shows the text nilnilnilnilnilnil . How do I fix this? Thanks in advance!
| browser |
browser := GLMTabulator new. browser row: #selections; row: #selectionStatus. browser showOn: #selections; using: [browser custom: AMUI new propertiesSelector2 ].
browser showOn: #selectionStatus; from: #selections->#selCwidth; from: #selections->#selCheight; from: #selections->#selAwidth; from: #selections->#selAheight; from: #selections->#selMwidth; from: #selections->#selMheight; using: [browser text display: [ :cw :ch :aw :ah :mw :mh | ch asString, cw asString , ah asString, aw asString, mh asString, mw asString]; allowNil ].
Usually one inserts a when: clause to activate the pane when a specific parameter is not nil (because at least one should be not nil to display something). But in your case it seems different: the status is always active, but it should filter the nil in its display: block
Something like (warning, not tested!)
using: [browser text display: [ :cw :ch :aw :ah :mw :mh | {cw. ch. aw. ah. mw. mh} select: #notNil thenCollect: #asString ]; allowNil ].
Thanks for helping out, but the problem remains the same: the parameters passed to the block are *always* nil when I allowNil, and when I dont allowNil the browser only displays the parameters when all 6 lists have a selection. a when: does not help here (in either of both cases).
Anybody got any other ideas?
-- 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
"Next time you see your life passing by, say 'hi' and get to know her."
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
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- Simon
Sotty, I forgot to detail that I already tried that variant. It does not make a difference :-(
On 15 Dec 2009, at 13:54, Simon Denier wrote:
Please try something like: browser sendToOutside: #selCheight from: #cheight->#selection.
but normally your version should work
On 15 déc. 2009, at 15:36, Johan Fabry wrote:
Hi Doru,
below is the code, thanks!
propertiesSelector2 | browser mprops cprops aprops |
cprops := {'Classes LOC'. 'Num Methods'. 'Num Attributes' . 'Num JoinPoints' . 'Num Aspects'}. aprops := {'Aspects LOC' . 'Num Pointcuts' . 'Num Advice' . 'Num JoinPoints'}. mprops := {'Methods LOC' . 'Num JoinPoints' . 'Num Aspects'}. browser := GLMTabulator new. browser column: [: c | c row: #cheight; row: #aheight; row: #mheight]; column: [: c | c row: #cwidth; row: #awidth; row: #mwidth]. browser showOn: #cheight; using: [ browser tree title: 'Classes Height'; display: cprops.]. browser showOn: #cwidth; using: [ browser tree title: 'Classes Width'; display: cprops]. browser showOn: #aheight; using: [ browser tree title: 'Aspects Height'; display: aprops.]. browser showOn: #awidth; using: [ browser tree title: 'Aspects Width'; display: aprops.]. browser showOn: #mheight; using: [ browser tree title: 'Methods Height'; display: mprops.]. browser showOn: #mwidth; using: [ browser tree title: 'Methods Width'; display: mprops.]. browser sendToOutside: #selCheight from: #cheight. browser sendToOutside: #selCwidth from: #cwidth. browser sendToOutside: #selAheight from: #aheight. browser sendToOutside: #selAwidth from: #awidth. browser sendToOutside: #selMheight from: #mheight. browser sendToOutside: #selMwidth from: #mwidth.
^ browser
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hmm, this looks like a strange bug related to #allowNil. If you add even the simplest #when: not nil condition (e.g., when: [:cw | cw notNil]), it works fine. I cannot figure out what the problem is though.
I will try to create a test case from it.
Cheers, Doru
On 15 Dec 2009, at 18:15, Johan Fabry wrote:
Sotty, I forgot to detail that I already tried that variant. It does not make a difference :-(
On 15 Dec 2009, at 13:54, Simon Denier wrote:
Please try something like: browser sendToOutside: #selCheight from: #cheight->#selection.
but normally your version should work
On 15 déc. 2009, at 15:36, Johan Fabry wrote:
Hi Doru,
below is the code, thanks!
propertiesSelector2 | browser mprops cprops aprops |
cprops := {'Classes LOC'. 'Num Methods'. 'Num Attributes' . 'Num JoinPoints' . 'Num Aspects'}. aprops := {'Aspects LOC' . 'Num Pointcuts' . 'Num Advice' . 'Num JoinPoints'}. mprops := {'Methods LOC' . 'Num JoinPoints' . 'Num Aspects'}. browser := GLMTabulator new. browser column: [: c | c row: #cheight; row: #aheight; row: #mheight]; column: [: c | c row: #cwidth; row: #awidth; row: #mwidth]. browser showOn: #cheight; using: [ browser tree title: 'Classes Height'; display: cprops.]. browser showOn: #cwidth; using: [ browser tree title: 'Classes Width'; display: cprops]. browser showOn: #aheight; using: [ browser tree title: 'Aspects Height'; display: aprops.]. browser showOn: #awidth; using: [ browser tree title: 'Aspects Width'; display: aprops.]. browser showOn: #mheight; using: [ browser tree title: 'Methods Height'; display: mprops.]. browser showOn: #mwidth; using: [ browser tree title: 'Methods Width'; display: mprops.]. browser sendToOutside: #selCheight from: #cheight. browser sendToOutside: #selCwidth from: #cwidth. browser sendToOutside: #selAheight from: #aheight. browser sendToOutside: #selAwidth from: #awidth. browser sendToOutside: #selMheight from: #mheight. browser sendToOutside: #selMwidth from: #mwidth.
^ browser
-- 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
"Presenting is storytelling."
I created an issue: http://code.google.com/p/moose-technology/issues/detail?id=263
Cheers, Doru
On 15 Dec 2009, at 22:09, Tudor Girba wrote:
Hmm, this looks like a strange bug related to #allowNil. If you add even the simplest #when: not nil condition (e.g., when: [:cw | cw notNil]), it works fine. I cannot figure out what the problem is though.
I will try to create a test case from it.
Cheers, Doru
On 15 Dec 2009, at 18:15, Johan Fabry wrote:
Sotty, I forgot to detail that I already tried that variant. It does not make a difference :-(
On 15 Dec 2009, at 13:54, Simon Denier wrote:
Please try something like: browser sendToOutside: #selCheight from: #cheight->#selection.
but normally your version should work
On 15 déc. 2009, at 15:36, Johan Fabry wrote:
Hi Doru,
below is the code, thanks!
propertiesSelector2 | browser mprops cprops aprops |
cprops := {'Classes LOC'. 'Num Methods'. 'Num Attributes' . 'Num JoinPoints' . 'Num Aspects'}. aprops := {'Aspects LOC' . 'Num Pointcuts' . 'Num Advice' . 'Num JoinPoints'}. mprops := {'Methods LOC' . 'Num JoinPoints' . 'Num Aspects'}. browser := GLMTabulator new. browser column: [: c | c row: #cheight; row: #aheight; row: #mheight]; column: [: c | c row: #cwidth; row: #awidth; row: #mwidth]. browser showOn: #cheight; using: [ browser tree title: 'Classes Height'; display: cprops.]. browser showOn: #cwidth; using: [ browser tree title: 'Classes Width'; display: cprops]. browser showOn: #aheight; using: [ browser tree title: 'Aspects Height'; display: aprops.]. browser showOn: #awidth; using: [ browser tree title: 'Aspects Width'; display: aprops.]. browser showOn: #mheight; using: [ browser tree title: 'Methods Height'; display: mprops.]. browser showOn: #mwidth; using: [ browser tree title: 'Methods Width'; display: mprops.]. browser sendToOutside: #selCheight from: #cheight. browser sendToOutside: #selCwidth from: #cwidth. browser sendToOutside: #selAheight from: #aheight. browser sendToOutside: #selAwidth from: #awidth. browser sendToOutside: #selMheight from: #mheight. browser sendToOutside: #selMwidth from: #mwidth.
^ browser
-- 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
"Presenting is storytelling."
-- www.tudorgirba.com
"If you interrupt the barber while he is cutting your hair, you will end up with a messy haircut."
On 15 déc. 2009, at 22:09, Tudor Girba wrote:
Hmm, this looks like a strange bug related to #allowNil. If you add even the simplest #when: not nil condition (e.g., when: [:cw | cw notNil]), it works fine. I cannot figure out what the problem is though.
Meanwhile, a generic condition such as when: [:one :two | {one. two} anySatisfy: #notNil]; will do the trick
It seems like if all values are nil, something crashes in the transmission or elsewhere and not restarted
I will try to create a test case from it.
Cheers, Doru
On 15 Dec 2009, at 18:15, Johan Fabry wrote:
Sotty, I forgot to detail that I already tried that variant. It does not make a difference :-(
On 15 Dec 2009, at 13:54, Simon Denier wrote:
Please try something like: browser sendToOutside: #selCheight from: #cheight->#selection.
but normally your version should work
On 15 déc. 2009, at 15:36, Johan Fabry wrote:
Hi Doru,
below is the code, thanks!
propertiesSelector2 | browser mprops cprops aprops |
cprops := {'Classes LOC'. 'Num Methods'. 'Num Attributes' . 'Num JoinPoints' . 'Num Aspects'}. aprops := {'Aspects LOC' . 'Num Pointcuts' . 'Num Advice' . 'Num JoinPoints'}. mprops := {'Methods LOC' . 'Num JoinPoints' . 'Num Aspects'}. browser := GLMTabulator new. browser column: [: c | c row: #cheight; row: #aheight; row: #mheight]; column: [: c | c row: #cwidth; row: #awidth; row: #mwidth]. browser showOn: #cheight; using: [ browser tree title: 'Classes Height'; display: cprops.]. browser showOn: #cwidth; using: [ browser tree title: 'Classes Width'; display: cprops]. browser showOn: #aheight; using: [ browser tree title: 'Aspects Height'; display: aprops.]. browser showOn: #awidth; using: [ browser tree title: 'Aspects Width'; display: aprops.]. browser showOn: #mheight; using: [ browser tree title: 'Methods Height'; display: mprops.]. browser showOn: #mwidth; using: [ browser tree title: 'Methods Width'; display: mprops.]. browser sendToOutside: #selCheight from: #cheight. browser sendToOutside: #selCwidth from: #cwidth. browser sendToOutside: #selAheight from: #aheight. browser sendToOutside: #selAwidth from: #awidth. browser sendToOutside: #selMheight from: #mheight. browser sendToOutside: #selMwidth from: #mwidth.
^ browser
-- 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
"Presenting is storytelling."
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- Simon
On 16 Dec 2009, at 07:23, Simon Denier wrote:
On 15 déc. 2009, at 22:09, Tudor Girba wrote:
Hmm, this looks like a strange bug related to #allowNil. If you add even the simplest #when: not nil condition (e.g., when: [:cw | cw notNil]), it works fine. I cannot figure out what the problem is though.
Meanwhile, a generic condition such as when: [:one :two | {one. two} anySatisfy: #notNil]; will do the trick
It seems like if all values are nil, something crashes in the transmission or elsewhere and not restarted
This will work OK for now, I can prototype a good-enough user interface with that. Thanks Doru and Simon!
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hi,
The allowNil problem is solved in the latest Glamour-Core: - allowNil always means that at least one origin port must be notNil - otherwise, all must be notNil
Cheers, Doru
On 16 Dec 2009, at 14:30, Johan Fabry wrote:
On 16 Dec 2009, at 07:23, Simon Denier wrote:
On 15 déc. 2009, at 22:09, Tudor Girba wrote:
Hmm, this looks like a strange bug related to #allowNil. If you add even the simplest #when: not nil condition (e.g., when: [:cw | cw notNil]), it works fine. I cannot figure out what the problem is though.
Meanwhile, a generic condition such as when: [:one :two | {one. two} anySatisfy: #notNil]; will do the trick
It seems like if all values are nil, something crashes in the transmission or elsewhere and not restarted
This will work OK for now, I can prototype a good-enough user interface with that. Thanks Doru and Simon!
-- 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
"Obvious things are difficult to teach."
Ok, this works for me. Thanks Doru!
On 30 Dec 2009, at 20:34, Tudor Girba wrote:
Hi,
The allowNil problem is solved in the latest Glamour-Core:
- allowNil always means that at least one origin port must be notNil
- otherwise, all must be notNil
Cheers, Doru
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile