public TextHoverEvent(MouseEvent source, List<HoverTarget> hoverTargets) { super(HOVER, source.getSceneX(), source.getSceneY(), source.getScreenX(), source.getScreenY(), source.getButton(), source.getClickCount(), source.isShiftDown(), source.isControlDown(), source.isAltDown(), source.isMetaDown(), source.isPrimaryButtonDown(), source.isMiddleButtonDown(), source.isSecondaryButtonDown(), source.isSynthesized(), source.isPopupTrigger(), source.isStillSincePress(), source.getPickResult()); this.hoverTargets = Collections.unmodifiableList(hoverTargets); Optional<Range<Integer>> range = this.hoverTargets.stream().map(t->t.textRange).findFirst(); // TODO remove me this.tokenText = null; this.offsetTokenStart = range.isPresent() ? range.get().lowerEndpoint() : 0;; this.offsetTokenEnd = range.isPresent() ? range.get().upperEndpoint() : 0;; this.offset = range.isPresent() ? range.get().lowerEndpoint() : 0; }
/** * Create a new text position event * * @param event * the source mouse event * @param offset * the offset in the text (might be -1 to indicate no valid * region was found) */ public TextPositionEvent(MouseEvent event, int offset) { super(convert(event.getEventType()), event.getSceneX(), event.getSceneY(), event.getScreenX(), event.getScreenY(), event.getButton(), event.getClickCount(), event.isShiftDown(), event.isControlDown(), event.isAltDown(), event.isMetaDown(), event.isPrimaryButtonDown(), event.isMiddleButtonDown(), event.isSecondaryButtonDown(), event.isSynthesized(), event.isPopupTrigger(), event.isStillSincePress(), event.getPickResult()); this.offset = offset; }
/** * Create a new hover event from the original mouse event * * @param event * the event * @param offsetTokenStart * the start offset from the token hovering (might be -1 to * indicate no valid region was found) * @param offsetTokenEnd * the end offset from the token hovering (might be -1 to * indicate no valid region was found) * @param offset * the offset in the text (might be -1 to indicate no valid * region was found) * @param tokenText * the token text */ public TextHoverEvent(MouseEvent event, int offsetTokenStart, int offsetTokenEnd, int offset, String tokenText) { super(HOVER, event.getSceneX(), event.getSceneY(), event.getScreenX(), event.getScreenY(), event.getButton(), event.getClickCount(), event.isShiftDown(), event.isControlDown(), event.isAltDown(), event.isMetaDown(), event.isPrimaryButtonDown(), event.isMiddleButtonDown(), event.isSecondaryButtonDown(), event.isSynthesized(), event.isPopupTrigger(), event.isStillSincePress(), event.getPickResult()); this.offsetTokenStart = offsetTokenStart; this.offsetTokenEnd = offsetTokenEnd; this.tokenText = tokenText; this.offset = offset; this.hoverTargets = null; }
camera.setTranslateZ(newZ); else if (me.isMiddleButtonDown()) { cameraXform2.t.setX(cameraXform2.t.getX() + mouseDeltaX*MOUSE_SPEED*modifier*TRACK_SPEED); cameraXform2.t.setY(cameraXform2.t.getY() + mouseDeltaY*MOUSE_SPEED*modifier*TRACK_SPEED);