Using (morphPresentation pane port: 'filtered') or (aPresentation pane port: 'filtered') instead of (self pane port: 'filtered') should give you the desired behavior. Not sure exactly why using self does not work, but is surely has to do something with the the fact that glamour copies presentations a lot.
Cheers, Andrei
On Wed, Oct 8, 2014 at 2:33 PM, Guillaume Larcheveque < guillaume.larcheveque@gmail.com> wrote:
Here is a really short example
2014-10-08 14:06 GMT+02:00 Andrei Chis chisvasileandrei@gmail.com:
Hi,
Do you have somewhere an entire example that shows the problem?
I tried the examples below and it worked as expected. There could be other issues related to composite presentations. Are you using tabulators in your custom composite presentations?
browser := GLMTabulator withStatusbar. browser row: #selector; row: #graph. browser transmit to: #selector; andShow: [ :a | a list act: [ :presentation | (presentation pane port: #filtered) value: 10 ] entitled: 'populate' ]. browser transmit from: #selector port: #filtered; to: #graph; andShow: [ :a | a text display: [ :x | x ] ]. browser openOn: (1to:9)
browser := GLMTabulator withStatusbar. innerBrowser := GLMTabulator new. innerBrowser row: #r1. innerBrowser transmit to: #r1; andShow: [ :a | a list act: [ :presentation | (presentation pane port: #filtered) value: 10 ] entitled: 'populate' ]. innerBrowser transmit from:#r1 port:#filtered; toOutsidePort: #filtered. browser row: #selector; row: #graph. browser transmit to: #selector; andShow: [ :a | a custom: innerBrowser ]. browser transmit from: #selector port: #filtered; to: #graph; andShow: [ :a | a text display: [ :x | x ] ]. browser openOn: (1to:9)
On Wed, Oct 8, 2014 at 1:13 PM, Guillaume Larcheveque < guillaume.larcheveque@gmail.com> wrote:
Hello,
Usman and I use glamour a lot to quickly create cool browsers. To capitalize some recurrent parts of our browsers, we create subclasses to GLMCompositePresentation and then use it that way:
browser := GLMTabulator withStatusbar. ...structure definition... browser transmit to: #selector; andShow: [ :a | a custom: (MyCustomPresentation new)].
then we just have to implement the #compose method and everything is fine.
But now i have to transmit data to something else (I want to create a filter that will receive a collection of entities and transmit only a subset of it to another presentation)
I am using some morphs in this custom presentation and on some events I send: (self pane port: #filtered) value: self filter
In my browser i have a transmission like this: browser transmit from: #selector port: #filtered; to: #graph; andShow: [ :a | a list display: [ :list | list ] ].
It doesn't work because the pane obtained in my custom presentation is not the one defined in my browser but another one named 'root'.
Maybe i am not using it in the right way but i don't see another way to do it correctly (I would like to avoid to set the right pane in my presentation).
Thanks in advance for your help.
PS: I tried to look in the MooseBook but the server is down
-- *Guillaume Larcheveque*
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- *Guillaume Larcheveque*
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev