CLIM mail archive

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

Selective Accept



I think I have a similar problem to the one described in the orignal
question on "Selective Accept:" I have defined a "NODE presentation and
have commands that involve accept statements accepting such presentations. 

My problem is that
the "accept" statement is supposed to accept only nodes from a
previously specified graph, and there may be any number of graphs
currently displayed, all of which have sets of nodes that are mututally
exclusive but all of the same class (NODE); Duing the accept
interaction, any presentation of a NODE 
is highlighted when the pointer moves over it, even if it is a node in 
the wrong graph. 

I haven't been able to think of a way to control the 
highlighting of presentations of the same kind. What I would like is to be 
able to pass a :TEST function argument to the accept function itself (not 
the command translator, since the command leading to the accept is not involved
here). I would then be able to test if a given Node's "graph" slot held
a pointer to the appropriate graph by writing a statement like:
(accept Node :TEST #'(lambda (node.presentation) 
			(eq (graph (presentation-object node.presentation))
			     *current-graph*))),
where "graph" is s slot in the node object pointing to the graph that it
is in. My current "solution" is just do the test of the presentation
after it is accepted and inform the user that the node selected is not
from the intended graph. This is not really satisfactory because the
nodes not in the selected graph should not be highlighted in the first
place. I would like to see such a :TEST capability for the accept
function in CLIM 2.0.

		L.D. Fleming


Follow-Ups:

Main Index | Thread Index