[mcclim-devel] presentations as childs of specific output records

Robert Strandh strandh at labri.fr
Sat Dec 11 05:29:29 UTC 2010


Hello,

Orm Finnendahl writes:
 > 
 > > If I understand you correctly, you don't want each line to be
 > > highlighted, but just the group.
 > 
 > that depends on the current focus. The main point in the application
 > is to be able to change the focus from one single line to the group it
 > is contained in (and to the group the groups are contained in and so
 > forth). Those changes of focus are quite frequent and I try to avoid
 > having to replay the whole drawing on focus change (that's why I try
 > to maintain the output records and it's hierarchy directly).

Hmm, yes I see.  The simplest solution to your problem is probably to
use the simple form of incremental output, i.e., your code looks like
it presents the entire view after each interaction, except that you
have inserted updating-output nodes in strategic places so that the
system will not modify output where it is not needed.  This method
allows you to present the view differently according to the focus,
while still getting the advantage of not *really* presenting the
entire thing each time. 

 > > It appends to the end of the current output record, but that is fact
 > > is important only to the display order.  The records are conceptually
 > > drawn from bottom to top according to this order. But you can create
 > > hierarchies of output records and presentations by opening a new
 > > output records.  One way of doing that is to use
 > > with-output-as-presentation.
 > 
 > I think it would solve my problem, but I haven't figured out, how to
 > accomplish that in code. I know how to instantiate output records and
 > insert them into the tree (using add-output-record), but I don't know
 > how to attach presentations to them. 

You don't attach presentations to output records.  A presentation *is*
an output record (a subclass of it). 

Take care,
-- 
Robert Strandh

---------------------------------------------------------------------
Greenspun's Tenth Rule of Programming: any sufficiently complicated C
or Fortran program contains an ad hoc informally-specified bug-ridden
slow implementation of half of Common Lisp.
---------------------------------------------------------------------




More information about the mcclim-devel mailing list