Shape canvasPickRect = getCanvasPickShape(controlPos);
if (canvasPickRect == null)
return Collections.emptyList();
- return TerminalUtil.pickTerminals(diagram, canvasPickRect, true, true);
+ return TerminalUtil.pickTerminals(getContext(), diagram, canvasPickRect, true, true);
}
public TerminalInfo pickTerminal(Point2D controlPos)
Shape canvasPickRect = getCanvasPickShape(controlPos);
if (canvasPickRect == null)
return null;
- TerminalInfo ti = TerminalUtil.pickTerminal(diagram, canvasPickRect);
+ TerminalInfo ti = TerminalUtil.pickTerminal(getContext(), diagram, canvasPickRect);
return ti;
}
Shape canvasPickRect = GeometryUtils.transformShape(controlPickRect, util.getInverseTransform());
int selectionId = me.mouseId;
- PickRequest req = new PickRequest(canvasPickRect);
+ PickRequest req = new PickRequest(canvasPickRect).context(getContext());
req.pickPolicy = PickPolicy.PICK_INTERSECTING_OBJECTS;
req.pickSorter = pickSorter;
//req.pickSorter = PickRequest.PickSorter.CONNECTIONS_LAST;
}
return false;
}
+
+ boolean result = false;
// Click Select
{
if (!Collections.singleton(selectedPick).equals(currentSelection)
&& (isLeft || (isRight && !currentSelection.contains(selectedPick)))) {
selection.setSelection(selectionId, selectedPick);
+ // Stop propagation
+ result = true;
}
if (isRight && pickables.size() == 1 && noModifiers) {
}
}
- return false;
+ return result;
}
/**
Shape canvasPickRect = GeometryUtils.transformShape(controlPickRect, util.getInverseTransform());
int selectionId = me.mouseId;
- PickRequest req = new PickRequest(canvasPickRect);
+ PickRequest req = new PickRequest(canvasPickRect).context(getContext());
req.pickPolicy = PickPolicy.PICK_INTERSECTING_OBJECTS;
List<IElement> pick = new ArrayList<IElement>();
pickContext.pick(diagram, req, pick);
assertDependencies();
Point2D curCanvasPos = util.controlToCanvas(me.controlPosition, curCanvasDragPos);
- PickRequest req = new PickRequest(me.startCanvasPos);
+ PickRequest req = new PickRequest(me.startCanvasPos).context(getContext());
req.pickPolicy = PickRequest.PickPolicy.PICK_INTERSECTING_OBJECTS;
List<IElement> picks = new ArrayList<IElement>();
pickContext.pick(diagram, req, picks);
double pickDist = getPickDistance();
Rectangle2D controlPickRect = new Rectangle2D.Double(me.controlPosition.getX()-pickDist, me.controlPosition.getY()-pickDist, pickDist*2+1, pickDist*2+1);
Shape canvasPickRect = GeometryUtils.transformShape(controlPickRect, util.getInverseTransform());
- req = new PickRequest(canvasPickRect);
+ req = new PickRequest(canvasPickRect).context(getContext());
req.pickPolicy = PickRequest.PickPolicy.PICK_INTERSECTING_OBJECTS;
pickContext.pick(diagram, req, picks);
//System.out.println("2nd try: " + picks);