Re: nested presentations



In article <joswig-324C70.18011730102006@xxxxxxxxxxxxxxxxxxxxxxxx>,
Rainer Joswig <joswig@xxxxxxx> wrote:

In article <Rip1h.15390$j7.332875@xxxxxxxxxxxxxx>,
David Golden <david.golden@xxxxxxxxxxxxx> wrote:

Hi,

I have a vague memory of a criticism on someone's part
of both SLIME and McCLIM, about neither supporting
nested presentations. I'm trying to find a description
of how such nested presentations worked traditionally.

But I can't find the criticism now with google (maybe
just having a bout of long-weekend searching incompetence),
so was just wondering if anyone had such an explanation
handy?


Example:

If you have a CLIM Listener and you type:

? (list 'foo 'bar 'baz)

The system responds with the resulting list.

(foo bar baz)

Next the Listener again expects a command or an expression.

If you move the mouse over the result list, the list should be
mouse sensitive. But if the mouse cursor is over a symbol
in that list, only the symbol should be mouse sensitive.

So, accept (in general not just in this Listener example)
should look for the smallest applicable presentation
within nested presentations. This is how it worked in
the commercial CLIM and also with DW (Dynamic Windows).
This also means that when you 'present' something,
you should not only record this presentation, but also
presentations of sub-items...

Regards,

Rainer

plus:

DW and CLIM 2 are doing this for all kinds of presentations
that have subcomponents. Not just for lists. Also
for arrays, structures, objects and so on. You
also don't need to call PRESENT yourself on those
subcomponents, standard CL printing
routines are sufficient. Those will use the presentation
mechanism to recursively print and present compound
things.

In DW's listener you can also list a directory and
refer to the whole directory listing or to the
individual files/subdirectories.

DW also comes with the added feature that you can edit
the subcomponents in place. Means you can
click on any subitem and change its printing
environment or the item itself.

Having subcomponents mouse sensitive also works
in Zmacs when you point to content in an editor buffer.
.



Relevant Pages

  • Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
    ... Listener binds to genetlink using its real pid. ... one needs to get this exit data and calls a genetlink_unicast to each one that does need it. ... its pid to be stored in various per-cpu lists of listeners. ...
    (Linux-Kernel)
  • Re: Design decision for a game
    ... Especially if the Rule implementations all share a common implementation, where the actual listener list is maintained. ... Alternatively, if there are to be different listener interfaces for each Rule, then obviously each Rule instance would have different listener interfaces subscribed. ... Depending on what notifications are required and whether there's a good way to generalize them so that a single RuleListener interface can apply to all Rule implementations, this may also argue in favor of per-Rule listener lists. ...
    (comp.lang.java.programmer)
  • Undo/Redo, Subclasses and Lots of Listeners
    ... edit (text fields, check boxes, lists, etc). ... now I want to add Undo/Redo to all these components. ... listener so I can perform the "postEdit" within the action listener? ...
    (comp.lang.java.programmer)
  • Re: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats
    ... Listener binds to genetlink using its real pid. ... Sends a separate "registration" message with cpumask to listen to. ... 1024 CPUs, 1024 listeners, 1000 exits/sec/CPU and we're up to a million ... is entered into per-cpu lists for those cpus and exit events from those ...
    (Linux-Kernel)