[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

erasing presentations



I'm working with Genera 7.2 and have been having trouble with using
presentations.  We've been working with them for over 6 months and have
achieved a lot of remarkable things, but our conclusion is that we still
don't *really* know how to use them.  I'm wondering if this is a common
perception, or if we are just slow.

	I'm also wondering why Symbolics doesn't seem to allow for
creating derived flavors of presentations.  It is possible to do

(defflavor 1my-graphic-presentation
0      (my-slot)
      (dw:displayed-presentation)
  )

but then there isn't any mechanism for getting the things made by the
system.  That is, the macros 

(graphics:with-output-as-graphics-presentation 
(dw:with-output-as-presentation 

don't allow you to specify the flavor of presentation that is created.
It seems to me intuitive that such a thing would be valuable and that
the existence of the two different macros proves it.  Of course, I could
probably have done what I wanted to do if I had hacked the source (note
that this is source that Symbolics does not ordinarily distribute), but
I wanted to work within the system, especially considering that I'm not
sure about how the system is supposed to be used.  There are probably
other techniques, using the (undocumented) function
dw:displayed-presentation-add-inferior and related functions.

A particular example for why I might want to do this is to create a
class of presentations with paths that connect them to other
presentations, such that the endpoints can be moved around while visual
connections are maintained.  Also, I'd like to animate presentations by
changing visual features (such as position, shape, inferior
presentations) as the underlying objects change properties.  It could be
that my conception of the partitioning between objects and presentations
is brain dead.

I've been assuming that some of my trouble is associated with the
relative immaturity of dynamic windows and presentations, and that the
documentation and code is likely to improve in the next release.
Unfortunately, that will probably be too late for us.

Any clues or comments?

  -- Paul Vaughan