I have built a grapher-based tool, that allows me to distinguish
between multiple types of node by using shapes. When I highlight
rectangular nodes, all is well. But I have "roundtangle" nodes, and
when I pass the mouse over them, instead of seeing a box around them,
or a highlight outline around the roundtangle, McCLIM gives me THREE
rectangles, one around the body of the node, and one each around the
semi-circles on the end.
Actually, even the rectangle highlighting seems to me a little odd,
since the highlight outline is drawn INSIDE the node, instead of
around its outline.
Here's the code that draws the nodes:
(defun draw-taems-node (object stream)
(declare (special normal-ink text-style))
(with-drawing-options (stream :ink normal-ink
:text-style text-style)
(with-output-as-presentation (stream object 'taems-node)
(if (typep object 'taems:tmethod)
(surrounding-output-with-border
(stream :shape :rectangle)
(format stream "~D: ~A"
(musliner:name object)
(taems:taems-name object)))
(surrounding-output-with-border
(stream :shape :oval)
(format stream "~D: ~A"
(musliner:name object)
(taems:taems-name object)))))))
Alas, I am too stupid to figure out how to grab a screendump from X to
illustrate this; any suggestions? I wasn't sure how to get xwd to
wait until I had a node highlighted before writing its output....
Thanks,
R