* Param evt is a GraphicsNodeEvent rather than a GraphicsNodeMouseEvent
* for future extension, so we can use Shift-arrow, etc.
*/
protected void checkSelectGesture(GraphicsNodeEvent evt) {
GraphicsNodeMouseEvent mevt = null;
if (evt instanceof GraphicsNodeMouseEvent) {
mevt = (GraphicsNodeMouseEvent) evt;
}
GraphicsNode source = evt.getGraphicsNode();
if (isDeselectGesture(evt)) {
if (selectionNode != null)
selectionNode.getRoot()
.removeTreeGraphicsNodeChangeListener(this);
clearSelection();
} else if ((source instanceof Selectable) && (mevt != null)) {
Point2D p = new Point2D.Double(mevt.getX(), mevt.getY());
AffineTransform t = source.getGlobalTransform();
if (t == null) {
t = new AffineTransform();
}
else {