/** * {@inheritDoc} */ @Override public void mouseClicked(PInputEvent event) { if (currentSelection == null && event.isLeftMouseButton() && !event.isShiftDown()) { SelectionManager selections = manager.getSelectionManager(); selections.clearSelections(); } else if (currentSelection != null && !selectionCreated && !event.isShiftDown()) { currentSelection.toggleHighlightMode(); } } }
protected void drag(final PInputEvent e) { if (e.isShiftDown()) { final PDimension dim = e.getDelta(); viewedCanvas.getCamera().translateView(0 - dim.getWidth(), 0 - dim.getHeight()); } else { Point2D pos = e.getPosition(); p.setLocation(pos.getX() - dragOffset.getX(), pos.getY() - dragOffset.getY()); moveCameraOnPath(p, false); } }
protected void startDrag(final PInputEvent e) { if (e.getPickedNode() == areaVisiblePNode) { PBounds b = viewedCanvas.getCamera().getViewBounds(); dragOffset.setLocation(e.getPosition().getX() - b.getCenterX(), e.getPosition().getY() - b.getCenterY()); super.startDrag(e); } else { if (e.isShiftDown()) { PBounds b = viewedCanvas.getCamera().getViewBounds(); viewedCanvas.getCamera().translateView(b.x - e.getPosition().getX() + b.width/2, b.y - e.getPosition().getY() + b.height / 2); super.startDrag(e); } else { dragOffset.setLocation(0, 0); moveCameraOnPath(e.getPosition(), true); super.startDrag(e); } } viewedCanvas.setInteracting(true); }
private void nodePressed(PInputEvent e, GraphNode displayNode) { if (e.isControlDown()) { selectedNodes.addOrRemoveNode(displayNode); } else if (e.isShiftDown()) { selectedNodes.addNode(displayNode); } else { if (e.isRightMouseButton()) { // right click - only set if the node isn't already selected if (!selectedNodes.containsNode(displayNode)) { selectedNodes.setNode(displayNode); } } else { // left click - always select just this node selectedNodes.setNode(displayNode); } } }
protected void updateSelection(PInputEvent event) { if (event.isLeftMouseButton()) { PNode node = getPickedNode(event); SelectionManager selections = manager.getSelectionManager(); // Drag an existing selection? if (currentSelection == null && selections.isSelected(node)) { currentSelection = selections.getLastSelection(node); } if (selections.isSelectable(node)) { if (currentSelection == null) { if (!event.isShiftDown()) selections.clearSelections(); currentSelection = selections.select(node); selectionCreated = true; } else { currentSelection.setSelectedObject(node); } } } }