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,