CLIM mail archive
[Prev][Next][Index][Thread]
REPLAY-OUTPUT-RECORD question
Date: Thu, 30 Jun 1994 09:54-0700
From: Gregory M Anderson <gma@bitterroot.apl.washington.edu>
Date: Wed, 29 Jun 1994 18:31 PDT
From: rdp@netcom.com (Robert Pfeiffer)
Date: Wed, 29 Jun 1994 16:37 PDT
From: Gregory M Anderson <gma@BITTERROOT.apl.washington.edu>
Did you ever get an answer to your question? I've been wondering
the same thing, and have some thoughts, but no answers.
Maybe we could bash heads
Unfortunately, no answer has been forthcoming. I'm still optimistic that
someone will provide a simple solution to this. It just can't be that
difficult, can it?
Well, I'm not sure, but I do know that I tried several unsuccessful methods.
I've looked at the output record contents, and I don't think that output records
have enough information to be able change their color, shape, and so on. I believe
the presentation is required. So I tried erasing the output record (no problem)
and drawing a new one in its place (again no problem), but I can't seem to get
the new record to replace the old correctly in the history, and redisplays break
on (the new?) output record.
To implement this, I stored the original output record in the objects being presented using
(setf (output-record object)
(UPDATING-OUTPUT (stream :unique-id object :cache-value (color color))
(present object 'type :stream stream))
I used the following to erase the record:
(erase-output-record (output-record object) stream)
;; not sure whether or not to use this
;; (delete-output-record (output-record object) parent)
Here is where it gets fuzzy, candidates I've tried to get new the record displayed are:
(present object 'type:stream stream)
(redisplay (output-record object) stream)
(replay-output-record (output-record object) stream)
So I'm stuck.
I would have done this to create the record
(setf (output-record object)
(updating-output (stream)
(updating-output (stream :unique-id object :cache-value (color color))
(present object 'type :stream stream))))
and then simply used REDISPLAY on the cached record.
You don't need to dink around with erasing or replaying.
Follow-Ups:
Main Index |
Thread Index