Received: from KARIBA.BBN.COM by LABS-N.BBN.COM id aa25445; 19 May 92 10:37 EDT Received: by KARIBA.BBN.COM id ab27684; 19 May 92 10:23 EDT To: Stefan Bernemann cc: clim@BBN.COM Subject: Re: Selecting Presentations In-reply-to: Your message of Tue, 19 May 92 11:48:00 +0200. <19920519094809.1.STEFAN@ANNA.iml.fhg.de> Date: Tue, 19 May 92 10:19:35 -0400 Message-ID: <6691.706285175@bbn.com> From: Jeff Morrill Date: Tue, 19 May 1992 11:48+0200 From: Stefan Bernemann Subject: Selecting Presentations To: clim@BBN.COM Hello, I want to implement a kind of user-interaction, where the user (or the system) "selects" some "objects" and where some operations can be performed on a set of objects commonly called "current selection". This is a common need in many types of user interfaces, and it ought to be easy but I don't know of anybody who's done it in CLIM. DataDesk, a Mac application for data analysis, is a good example of this. When you "select" a data point, all of its displayed representations get highlighted in all of the panes of the application. In addition, you can select more than one data point at a time. How can I specify such selection contexts? 1. Your application will need to keep track of the "current selection" itself. I suppose this would be a slot on the frame containing a list of objects. 2. For each displayed object, you need to know its output records. I have done this before by adding a slot to the object that contains a list of output records. Then a display method for the object manages the list. This could be hard, depending on the application. 3. Your application will need to keep track of all the objects that are selected. It seems like a method SELECT-OBJECT could be implemented for the object that informs *application-frame* and then highlights all of the object's output records. 4. You can highlight an output record by getting its bounding box and drawing a rectangle in the :flip ink. Or you can use the "real" highlighting method, which is apparently clim:highlight-output-record. This may all interfere with the frame's own protocol for highlighting presentations that are under the mouse. I dunno. Good luck. jeff morrill