[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
specializing CELL-SELECT in sequence dialog items
- Subject: specializing CELL-SELECT in sequence dialog items
- From: gersh@aplpy.jhuapl.edu (John R. Gersh)
- Date: 29 Jun 93 15:32:08 GMT
In article <C9BnB9.D58@news.claremont.edu> Matthew Haines writes:
>
>I'm trying to specialize the cell-select and cell-deselect methods
>of the sequence-dialog-item. It seems to me that the following code
>should print the coordinates when a cell is clicked on. Unfortunately,
>it does not.
>
>(defclass test-sequence-item (sequence-dialog-item)
> ())
>
>(defmethod cell-select ((item test-sequence-item) h &optional v)
> (call-next-method)
> (format t "~S,~S~%" h v))
>
>(defvar w)
>
>(setq w (make-instance 'window
> :view-subviews
> (list
> (make-instance 'test-sequence-item
> :table-sequence '(0 1 2 3 4 5)))))
>
This code does, in fact, work in its specialization of cell-select.
It has no effect when one simply clicks on a cell in the sequence dialog item
because the view-click-event-handler for table dialog items does not call
cell-select, but rather deals directly with the Mac List Manager
through an #_LClick call. (The test-sequence-item above will respond
as desired, for example, if cell-select is called from the Listener.)
To get the coordinates of selected cells reported by a mouse-click in the
sequence-dialog-item, set the dialog-item action to do that:
(defclass test-sequence-item (sequence-dialog-item) ()
(:default-initargs
:dialog-item-action
#'(lambda (item)
(format *standard-output* "~:{~S,~S ~}~%"
(mapcar #'(lambda (cell) (list (point-h cell) (point-v cell)))
(selected-cells item))))))
---------------------------------------------------------------------
John Gersh John_Gersh@jhuapl.edu
The Johns Hopkins University Applied Physics Laboratory
Johns Hopkins Rd., Laurel, MD 20723 (301) 953-5503