Extra credit...
Here is a small augmentation of the PATH-BETWEEN that does pop up the
highlighted text of the function when you double-click in the graph
pane:
(defun view-tree (tree from to)
(when tree
(capi:contain
(make-instance
'capi:graph-pane
:title (format nil "Path from ~A to ~A"
(display-form from) (display-form to))
:roots (list tree)
:children-function #'node-children
:print-function #'(lambda (node)
(format nil "~A" (display-form (node-
parent node))))
:edge-pinboard-class 'capi:arrow-pinboard-object
:interaction :single-selection
:action-callback 'graph-pane-action-callback
)
:best-width 400
:best-height 300)))
(defun graph-pane-action-callback (node intf)
(declare (ignore intf))
(let* ((df (display-form (node-parent node)))
(locs (dspec:find-dspec-locations df))
(toploc (cadr (car locs))))
(print locs)
(when (pathnamep toploc)
(ed df) )))
Dr. David McClain
dbm@refined-audiometrics.com