Hi Johan,
I'm sorry to say that GLMExamples class>>browseExamples is broken: it only shows an empty list. The reason for this is that it looks for pragmas but these are all in the subclasses. I guess that all this was first a big class that has been split up in different subclasses but the code of this method did not get adapted.
browseExamples is in the right place, but you should execute it for subclasses :). I just pointed the place for the code.
Still, hacking around in the code a bit did not give me insight in my root question. So let me try again: I want to understand what happens when you specify 'browser showOn: #foo; from: #bar' Where is the code that passes the selection event from #foo to #bar so that #bar refreshes itself? If I can hook into that, I can send a fake selection event from a non-existent #foo to my #bar so that #bar refreshes ... being an update of #bar :-)
Give me that and I'll code a primitive update mechanism for you that you can include in a future release of Glamour. As I conversed with Alex today (regarding a Mondrian update mechanism), it does not matter if it is slow or it flickers, at least it is basic functionality. First get it to work and we'll invest in an optimal solution later. We're supposed to be agile, right?
It's not quite that straightforward. The propagation of values is given by Transmissions which are first class connectors between Panes. Whenever you have a showOn:;from: you get a Transmission with one target given by showOn: and as many origins as #from:. Every transmission is activated once an origin changes the value.
The problem of update is not the flickering, but is in getting proper semantics for Transmissions. The matter is a bit complicated because the browser should still make sense after an update. Refreshing the whole browser is also not straightforward, because you have to know how to traverse it which depends on the posibly complex graph of Transmissions.
So, as I said, it is not quite straightforward, but you can certainly take a look :).
Cheers, Doru
On 14 Dec 2009, at 12:11, Tudor Girba wrote:
Hi Johan,
I do not have enough time to look into this right now, but maybe GLMDynamicPresentation is useful for your goal. This presentation takes as entity a presentation (or a browser, given that a browser is a presentation). Please take a look at GLMExamples class>>browseExamples for an example of how to use this one.
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
"One cannot do more than one can do."