Hi all,
first of all: Thanks Doru for implementing the new features! They are very useful to me.
Below is a screenshot of the AspectMaps UI that is using these features. I have a bunch of questions related to this and I would be very grateful if you could help me out. The code of the UI is also below. Very big method, I know, but I did it this way to avoid ambiguities in this mail.
Questions: - How do I update the top mondrian panel using the new update mechanism? I want it to redraw itself completely when some of the buttons are pressed and on some of the menu actions of the aspects menu. - The last 2 columns specify the metrics used in the polymetric view. With a transmission I always get the last selections made, but I need to know all selections made in that column so I can print it in the selectionstatus text box. How is this possible? Also, if no selection at all is made I would like to show that in the box (now the box is removed). - The last 3 columns actually do not use any input, but I specify them with "transmit to: ; andShow:" Is there a cleaner way to do this?
The code is below:
----snip---
open |browser colors colorizer| "for aspect colors, both automatic assignment and manual selection in menu" colorizer := MOCircularColors new. colors := OrderedCollection new. 1 to: 10 do: [:num| colors add: colorizer nextColor].
browser := GLMTabulator new. browser title: 'AspectMaps Window'. browser row: #mpanel span: 3. browser row:[:r| r column: #models span:2 ; column: #aspectsel span: 2; column: [:c| c row: #buttons span: 4. c row: #selectionstatus.]span: 2; column: #hprop; column: #wprop] span: 2. browser transmit to: #mpanel; from: #models; andShow: [:a | a mondrian painting: [:view :model| model allNamespaces do: [:ns| ns currentShapeFor: view withProperties: self]. view gridLayout.]]. browser transmit to: #models; andShow: [:a | a stackedVerticallyArrangement. a tree title: 'Available projects'; children: [:model | (SortedCollection sortBlock: [:x :y | x name <= y name]) addAll: model allNamespaces asOrderedCollection; yourself ]; act: [:tree | tree selection inspect ] on: $i entitled: 'Inspect'; format: [:model | (model name) copyReplaceAll: '::' with:'.' ]]. browser transmit to: #aspectsel; from: #models transformed: [:model | |topmodel| topmodel := model mooseModel = MooseModel root ifTrue: [model] ifFalse:[model mooseModel]. topmodel allAspects do:[:asp | asp color ifNil: [asp color: colorizer nextColor]]. topmodel allAspects ]; andShow: [:a| a stackedVerticallyArrangement. a tree title: 'Aspects in Project'; format: [:asp | Text string: ((asp show ifTrue: ['(ON) '] ifFalse: ['(OFF) ']), asp name) attribute: (TextColor color: asp color).]; act: [:tree | tree inspect ] on: $i entitled: 'Inspect (i)'; act: [:tree | |asp ann| asp := tree selection. asp show: (asp show not). tree update.] on: $t entitled: 'Toggle On/Off (t)'; actions: [:tree | colors collect: [:col | GLMAction new title: col asString; action: [tree selection color: col. tree update]; category: 'Color']]]. browser transmit to: #buttons; andShow: [:a | a actionList act: [:entity | entity inspect] entitled: 'Vizualize'; act: [:entity | entity inspect] entitled: 'Max Zoom Out'; act: [:entity | entity inspect] entitled: 'Max Zoom In'; act: [:entity | entity inspect] entitled: 'Multiple Aspects Zoom'; act: [:entity | entity inspect] entitled: 'Zoom by Query'. ]. browser transmit to: #hprop; andShow: [:a | a accordionArrangement. a list title: 'Classes Height'; display: self cprops; allowDeselection. a list title: 'Aspects Height'; display: self aprops; allowDeselection. a list title: 'Methods Height'; display: self mprops; allowDeselection. ].
browser transmit to: #wprop; andShow: [:a | a accordionArrangement. a list title: 'Classes Width'; display: self cprops; allowDeselection. a list title: 'Aspects Width'; display: self aprops; allowDeselection. a list title: 'Methods Width'; display: self mprops; allowDeselection. ].
browser transmit to: #selectionstatus; from: #hprop; from: #wprop; andShow: [:a | a text display: [:x :y| x asString , ' ', y asString]; allowNil]. browser openOn: MooseModel root allModels asOrderedCollection
----snip---
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hi Johan,
On 18 Jan 2010, at 16:58, Johan Fabry wrote:
Hi all,
first of all: Thanks Doru for implementing the new features! They are very useful to me.
I am glad.
Below is a screenshot of the AspectMaps UI that is using these features. I have a bunch of questions related to this and I would be very grateful if you could help me out. The code of the UI is also below. Very big method, I know, but I did it this way to avoid ambiguities in this mail.
Pretty cool. It would be cool to add a picture like this in a dedicated page under: http://www.moosetechnology.org/tools
Please send me your desired username to give you access.
Questions:
- How do I update the top mondrian panel using the new update
mechanism? I want it to redraw itself completely when some of the buttons are pressed and on some of the menu actions of the aspects menu.
I do not understand. The update mechanism is for updating a presentation based on changes in the model. If you want to deal with the UI, you do it with a transmission.
- The last 2 columns specify the metrics used in the polymetric
view. With a transmission I always get the last selections made, but I need to know all selections made in that column so I can print it in the selectionstatus text box. How is this possible?
A pane models one state: one entity, one selection etc. If you want multiple states, you need multiple panes :). So, you need multiple panes there and then have a transmission from all of them.
Also, if no selection at all is made I would like to show that in the box (now the box is removed).
Unfortunately, that is not possible.
- The last 3 columns actually do not use any input, but I specify
them with "transmit to: ; andShow:" Is there a cleaner way to do this?
Nope. That is the desired way. Perhaps I will add a shortcut method, but until then, this is Ok.
Cheers, Doru
<am.png>
The code is below:
----snip---
open |browser colors colorizer|
"for aspect colors, both automatic assignment and manual selection in menu" colorizer := MOCircularColors new. colors := OrderedCollection new. 1 to: 10 do: [:num| colors add: colorizer nextColor].
browser := GLMTabulator new. browser title: 'AspectMaps Window'. browser row: #mpanel span: 3. browser row:[:r| r column: #models span:2 ; column: #aspectsel span: 2; column: [:c| c row: #buttons span: 4. c row: #selectionstatus.]span: 2; column: #hprop; column: #wprop] span: 2.
browser transmit to: #mpanel; from: #models; andShow: [:a | a mondrian painting: [:view :model| model allNamespaces do: [:ns| ns currentShapeFor: view withProperties: self]. view gridLayout.]]. browser transmit to: #models; andShow: [:a | a stackedVerticallyArrangement. a tree title: 'Available projects'; children: [:model | (SortedCollection sortBlock: [:x :y | x name <= y name]) addAll: model allNamespaces asOrderedCollection; yourself ]; act: [:tree | tree selection inspect ] on: $i entitled: 'Inspect'; format: [:model | (model name) copyReplaceAll: '::' with:'.' ]].
browser transmit to: #aspectsel; from: #models transformed: [:model | |topmodel| topmodel := model mooseModel = MooseModel root ifTrue: [model] ifFalse:[model mooseModel]. topmodel allAspects do:[:asp | asp color ifNil: [asp color: colorizer nextColor]]. topmodel allAspects ]; andShow: [:a| a stackedVerticallyArrangement. a tree title: 'Aspects in Project'; format: [:asp | Text string: ((asp show ifTrue: ['(ON) '] ifFalse: ['(OFF) ']), asp name) attribute: (TextColor color: asp color).]; act: [:tree | tree inspect ] on: $i entitled: 'Inspect (i)'; act: [:tree | |asp ann| asp := tree selection. asp show: (asp show not). tree update.] on: $t entitled: 'Toggle On/Off (t)'; actions: [:tree | colors collect: [:col | GLMAction new title: col asString; action: [tree selection color: col. tree update]; category: 'Color']]].
browser transmit to: #buttons; andShow: [:a | a actionList act: [:entity | entity inspect] entitled: 'Vizualize'; act: [:entity | entity inspect] entitled: 'Max Zoom Out'; act: [:entity | entity inspect] entitled: 'Max Zoom In'; act: [:entity | entity inspect] entitled: 'Multiple Aspects Zoom'; act: [:entity | entity inspect] entitled: 'Zoom by Query'. ].
browser transmit to: #hprop; andShow: [:a | a accordionArrangement. a list title: 'Classes Height'; display: self cprops; allowDeselection. a list title: 'Aspects Height'; display: self aprops; allowDeselection. a list title: 'Methods Height'; display: self mprops; allowDeselection. ].
browser transmit to: #wprop; andShow: [:a | a accordionArrangement. a list title: 'Classes Width'; display: self cprops; allowDeselection. a list title: 'Aspects Width'; display: self aprops; allowDeselection. a list title: 'Methods Width'; display: self mprops; allowDeselection. ].
browser transmit to: #selectionstatus; from: #hprop; from: #wprop; andShow: [:a | a text display: [:x :y| x asString , ' ', y asString]; allowNil]. browser openOn: MooseModel root allModels asOrderedCollection
----snip---
-- 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
"No matter how many recipes we know, we still value a chef."
On 18 Jan 2010, at 13:31, Tudor Girba wrote:
Pretty cool. It would be cool to add a picture like this in a dedicated page under: http://www.moosetechnology.org/tools
Please send me your desired username to give you access.
Thanks! Let me fix some bugs here and there and then I'll make some movies, we can then add everything to a moose page..
- How do I update the top mondrian panel using the new update
mechanism? I want it to redraw itself completely when some of the buttons are pressed and on some of the menu actions of the aspects menu.
I do not understand. The update mechanism is for updating a presentation based on changes in the model. If you want to deal with the UI, you do it with a transmission.
I want to update the mondrian presentation based on changes made in the model (either by a specific menu action or by clicking on a button). The mondrian presentation should basically redraw itself completely.
- The last 2 columns specify the metrics used in the polymetric
view. With a transmission I always get the last selections made, but I need to know all selections made in that column so I can print it in the selectionstatus text box. How is this possible?
A pane models one state: one entity, one selection etc. If you want multiple states, you need multiple panes :). So, you need multiple panes there and then have a transmission from all of them.
:-( that is going to use a lot of space. Is there a way to have the multiple panes do the same collapse trick as in the code that I have now?
Also, if no selection at all is made I would like to show that in the box (now the box is removed).
Unfortunately, that is not possible.
- The last 3 columns actually do not use any input, but I specify
them with "transmit to: ; andShow:" Is there a cleaner way to do this?
Nope. That is the desired way. Perhaps I will add a shortcut method, but until then, this is Ok.
OK, thanks!
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hi,
Pretty cool. It would be cool to add a picture like this in a dedicated page under: http://www.moosetechnology.org/tools
Please send me your desired username to give you access.
Thanks! Let me fix some bugs here and there and then I'll make some movies, we can then add everything to a moose page..
Cool.
- How do I update the top mondrian panel using the new update
mechanism? I want it to redraw itself completely when some of the buttons are pressed and on some of the menu actions of the aspects menu.
I do not understand. The update mechanism is for updating a presentation based on changes in the model. If you want to deal with the UI, you do it with a transmission.
I want to update the mondrian presentation based on changes made in the model (either by a specific menu action or by clicking on a button). The mondrian presentation should basically redraw itself completely.
Well, there are two ways: - either listen to an announcement, or - if you want to trigger it from a menu item, you should just send update to the presentation. However, I have the problem with Mondrian in that I am not passing the presentation, but directly the ViewRenderer in the painting. It is long on my to do list to fix this. I will look into it.
- The last 2 columns specify the metrics used in the polymetric
view. With a transmission I always get the last selections made, but I need to know all selections made in that column so I can print it in the selectionstatus text box. How is this possible?
A pane models one state: one entity, one selection etc. If you want multiple states, you need multiple panes :). So, you need multiple panes there and then have a transmission from all of them.
:-( that is going to use a lot of space. Is there a way to have the multiple panes do the same collapse trick as in the code that I have now?
It is on my to do list :). You can use tabs for now.
Cheers, Doru
Also, if no selection at all is made I would like to show that in the box (now the box is removed).
Unfortunately, that is not possible.
- The last 3 columns actually do not use any input, but I specify
them with "transmit to: ; andShow:" Is there a cleaner way to do this?
Nope. That is the desired way. Perhaps I will add a shortcut method, but until then, this is Ok.
OK, thanks!
-- 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
"One cannot do more than one can do."
On 18 Jan 2010, at 14:52, Tudor Girba wrote:
I want to update the mondrian presentation based on changes made in the model (either by a specific menu action or by clicking on a button). The mondrian presentation should basically redraw itself completely.
Well, there are two ways:
- either listen to an announcement, or
- if you want to trigger it from a menu item, you should just send
update to the presentation. However, I have the problem with Mondrian in that I am not passing the presentation, but directly the ViewRenderer in the painting. It is long on my to do list to fix this. I will look into it.
OK, thanks, please keep me posted. This is quite crucial so that AspectMaps can work as intended ...
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hi,
It's done in two ways :).
1. The actions defined on the Mondrian presentations now appear as a menu on the root in the view. With this you can trigger update. See: GLMBasicExamples new updatableBrowser (execute "self add: 4" in the inspector and then see what happens in the views)
2. The painting block now gets after the entity variables an entry to the mondrian presentation. So, you can use it for manipulating the presentation from inside the mondrian script:
a mondrian painting: [:view :entity :mondrianPresentation | ... ]
Cheers, Doru
On 18 Jan 2010, at 19:35, Johan Fabry wrote:
On 18 Jan 2010, at 14:52, Tudor Girba wrote:
I want to update the mondrian presentation based on changes made in the model (either by a specific menu action or by clicking on a button). The mondrian presentation should basically redraw itself completely.
Well, there are two ways:
- either listen to an announcement, or
- if you want to trigger it from a menu item, you should just send
update to the presentation. However, I have the problem with Mondrian in that I am not passing the presentation, but directly the ViewRenderer in the painting. It is long on my to do list to fix this. I will look into it.
OK, thanks, please keep me posted. This is quite crucial so that AspectMaps can work as intended ...
-- 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
"If you interrupt the barber while he is cutting your hair, you will end up with a messy haircut."
I did a ConfigurationOfMoose updateDefault and now opening the updatableBrowser example gives me a MNU:LazyMorphTreeMorph>>multiSelection: (and of course the same happens when opening AspectMaps) :-( Did I do anything wrong (again) ?
On 18 Jan 2010, at 18:26, Tudor Girba wrote:
Hi,
It's done in two ways :).
- The actions defined on the Mondrian presentations now appear as a
menu on the root in the view. With this you can trigger update. See: GLMBasicExamples new updatableBrowser (execute "self add: 4" in the inspector and then see what happens in the views)
- The painting block now gets after the entity variables an entry
to the mondrian presentation. So, you can use it for manipulating the presentation from inside the mondrian script:
a mondrian painting: [:view :entity :mondrianPresentation | ... ]
Cheers, Doru
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hi,
It looks like MorphTreeMorph in the Momo10 repository was not updated. Please do it manually and try again.
Let me know if it works.
Cheers, Doru
On 18 Jan 2010, at 23:44, Johan Fabry wrote:
I did a ConfigurationOfMoose updateDefault and now opening the updatableBrowser example gives me a MNU:LazyMorphTreeMorph>>multiSelection: (and of course the same happens when opening AspectMaps) :-( Did I do anything wrong (again) ?
On 18 Jan 2010, at 18:26, Tudor Girba wrote:
Hi,
It's done in two ways :).
- The actions defined on the Mondrian presentations now appear as
a menu on the root in the view. With this you can trigger update. See: GLMBasicExamples new updatableBrowser (execute "self add: 4" in the inspector and then see what happens in the views)
- The painting block now gets after the entity variables an entry
to the mondrian presentation. So, you can use it for manipulating the presentation from inside the mondrian script:
a mondrian painting: [:view :entity :mondrianPresentation | ... ]
Cheers, Doru
-- 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
"Problem solving should be concentrated on describing the problem in a way that is relevant for the solution."
I have Morphic-MorphTreeWidget-AlainPlantec.66 which is the latest version according to the browser, doing a load of it again does not change anything. :-(
On 18 Jan 2010, at 19:48, Tudor Girba wrote:
Hi,
It looks like MorphTreeMorph in the Momo10 repository was not updated. Please do it manually and try again.
Let me know if it works.
Cheers, Doru
On 18 Jan 2010, at 23:44, Johan Fabry wrote:
I did a ConfigurationOfMoose updateDefault and now opening the updatableBrowser example gives me a MNU:LazyMorphTreeMorph>>multiSelection: (and of course the same happens when opening AspectMaps) :-( Did I do anything wrong (again) ?
On 18 Jan 2010, at 18:26, Tudor Girba wrote:
Hi,
It's done in two ways :).
- The actions defined on the Mondrian presentations now appear as
a menu on the root in the view. With this you can trigger update. See: GLMBasicExamples new updatableBrowser (execute "self add: 4" in the inspector and then see what happens in the views)
- The painting block now gets after the entity variables an
entry to the mondrian presentation. So, you can use it for manipulating the presentation from inside the mondrian script:
a mondrian painting: [:view :entity :mondrianPresentation | ... ]
Cheers, Doru
-- 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
"Problem solving should be concentrated on describing the problem in a way that is relevant for the solution."
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
Hi Johan,
I was not aware that Alain committed a new version of MorphTreeWidget. You now have a fix for the problem in Glamour-Morphic-tg.246
Cheers, Doru
On 19 Jan 2010, at 00:09, Johan Fabry wrote:
I have Morphic-MorphTreeWidget-AlainPlantec.66 which is the latest version according to the browser, doing a load of it again does not change anything. :-(
On 18 Jan 2010, at 19:48, Tudor Girba wrote:
Hi,
It looks like MorphTreeMorph in the Momo10 repository was not updated. Please do it manually and try again.
Let me know if it works.
Cheers, Doru
On 18 Jan 2010, at 23:44, Johan Fabry wrote:
I did a ConfigurationOfMoose updateDefault and now opening the updatableBrowser example gives me a MNU:LazyMorphTreeMorph>>multiSelection: (and of course the same happens when opening AspectMaps) :-( Did I do anything wrong (again) ?
On 18 Jan 2010, at 18:26, Tudor Girba wrote:
Hi,
It's done in two ways :).
- The actions defined on the Mondrian presentations now appear
as a menu on the root in the view. With this you can trigger update. See: GLMBasicExamples new updatableBrowser (execute "self add: 4" in the inspector and then see what happens in the views)
- The painting block now gets after the entity variables an
entry to the mondrian presentation. So, you can use it for manipulating the presentation from inside the mondrian script:
a mondrian painting: [:view :entity :mondrianPresentation | ... ]
Cheers, Doru
-- 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
"Problem solving should be concentrated on describing the problem in a way that is relevant for the solution."
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
-- www.tudorgirba.com
"Next time you see your life passing by, say 'hi' and get to know her."
OK, so I got it running now, thanks!
But I hit the next hurdles: - the updatableBrowser example is too complex for the glamour newbees like me. Can you make a simple example, like using a plain old OrderedCollection {1 2 3} that is shown in a list and a button where hitting the button adds the next number to the collection? - there is no menu in the mondrian presentations of updatableBrowser (and neither in the root of AspectMaps) :-(
On 18 Jan 2010, at 18:26, Tudor Girba wrote:
Hi,
It's done in two ways :).
- The actions defined on the Mondrian presentations now appear as a
menu on the root in the view. With this you can trigger update. See: GLMBasicExamples new updatableBrowser (execute "self add: 4" in the inspector and then see what happens in the views)
- The painting block now gets after the entity variables an entry
to the mondrian presentation. So, you can use it for manipulating the presentation from inside the mondrian script:
a mondrian painting: [:view :entity :mondrianPresentation | ... ]
Cheers, Doru
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hi,
OK, so I got it running now, thanks!
But I hit the next hurdles:
- the updatableBrowser example is too complex for the glamour
newbees like me. Can you make a simple example, like using a plain old OrderedCollection {1 2 3} that is shown in a list and a button where hitting the button adds the next number to the collection?
OrderedCollection does not throw announcements, that is why I use a mock collection that does throw announcements when you add and remove entities.
I updated the example with a menu.
- there is no menu in the mondrian presentations of updatableBrowser
(and neither in the root of AspectMaps) :-(
Yes, it does, only Mondrian shows the root menu only within the bounds of the graph. So, in the example, if you place your mouse between 1 and 2 so that no popup text appears, you will get the menu. It is not ideal, but now the ball is in the Mondrian court to deal with the root menu in the complete canvas :).
Anyway, now it looks like we have a small problem in updating the list due to some changes in the MorphTreeWidget. I will look into it.
Cheers, Doru
On 18 Jan 2010, at 18:26, Tudor Girba wrote:
Hi,
It's done in two ways :).
- The actions defined on the Mondrian presentations now appear as
a menu on the root in the view. With this you can trigger update. See: GLMBasicExamples new updatableBrowser (execute "self add: 4" in the inspector and then see what happens in the views)
- The painting block now gets after the entity variables an entry
to the mondrian presentation. So, you can use it for manipulating the presentation from inside the mondrian script:
a mondrian painting: [:view :entity :mondrianPresentation | ... ]
Cheers, Doru
-- 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
"It's not what we do that matters most, it's how we do it."
On 19 Jan 2010, at 07:40, Tudor Girba wrote:
But I hit the next hurdles:
- the updatableBrowser example is too complex for the glamour
newbees like me. Can you make a simple example, like using a plain old OrderedCollection {1 2 3} that is shown in a list and a button where hitting the button adds the next number to the collection?
OrderedCollection does not throw announcements, that is why I use a mock collection that does throw announcements when you add and remove entities.
I know it does not do that. I'm sorry, it seems that I am not being clear. The problem is that the use of this mock collection is needlesly complicating the code. I am all for MVC but in this case it only serves to confuse the picture. Please simplify the example. I as a dumb Glamour user dont know how these announcements work, dont complicate it more by adding an extra layer of indirection. Let the menu item construct the right announcement and send it to where it needs to go. Please dont expect me to go looking at/stepping through the entire code of the MVC setup to find that 1 line of code that sends the update to the right place.
- there is no menu in the mondrian presentations of
updatableBrowser (and neither in the root of AspectMaps) :-(
Yes, it does, only Mondrian shows the root menu only within the bounds of the graph. So, in the example, if you place your mouse between 1 and 2 so that no popup text appears, you will get the menu. It is not ideal, but now the ball is in the Mondrian court to deal with the root menu in the complete canvas :).
OK, found that, thanks!
-- Johan Fabry jfabry@dcc.uchile.cl - http://dcc.uchile.cl/~jfabry PLEIAD Lab - Computer Science Department (DCC) - University of Chile