}
}
((Selectable) source).selectAt(p.getX(), p.getY());
dispatchSelectionEvent(
new SelectionEvent(null,
SelectionEvent.SELECTION_STARTED,
null));
} else if (isSelectEndGesture(evt)) {
if (selectionNode == source) {
((Selectable) source).selectTo(p.getX(), p.getY());
}
Object oldSelection = getSelection();
if (selectionNode != null) {
Shape newShape;
newShape = ((Selectable)selectionNode).getHighlightShape();
dispatchSelectionEvent
(new SelectionEvent(oldSelection,
SelectionEvent.SELECTION_DONE,
newShape));
}
} else if (isSelectContinueGesture(evt)) {
if (selectionNode == source) {
boolean result = ((Selectable) source).selectTo(p.getX(),
p.getY());
if (result) {
Shape newShape =
((Selectable) selectionNode).getHighlightShape();
dispatchSelectionEvent(
new SelectionEvent(null,
SelectionEvent.SELECTION_CHANGED,
newShape));
}
}
} else if ((source instanceof Selectable) &&
(isSelectAllGesture(evt))) {
if (selectionNode != source) {
if (selectionNode != null) {
selectionNodeRoot
.removeTreeGraphicsNodeChangeListener(this);
}
selectionNode = source;
if (source != null) {
selectionNodeRoot = source.getRoot();
selectionNodeRoot
.addTreeGraphicsNodeChangeListener(this);
}
}
((Selectable) source).selectAll(p.getX(), p.getY());
Object oldSelection = getSelection();
Shape newShape =
((Selectable) source).getHighlightShape();
dispatchSelectionEvent(
new SelectionEvent(oldSelection,
SelectionEvent.SELECTION_DONE,
newShape));
}
}
}