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); } } }