private void initSelectionListener() { selectionFocusListener = c -> { if (selectionModel.getSelectedItems().isEmpty()) tertiaryRoom.setCameraCenter(rnaSequence3D.computeCenter()); if (selectionModel.getSelectedIndices().size() > 0) selectFocus(); }; }
private void selectFocus() { Point3D p = new Point3D(0, 0, 0); Nucleotide n = selectionModel .getItems()[ selectionModel .getSelectedIndices() .get(selectionModel.getSelectedIndices().size() - 1)]; p = p.add(utils.fx3d.computeCenter(n.getNucleotideCoordinates())); p = p.add(utils.fx3d.computeCenter(n.getBaseCoordinates())); p = p.multiply(1 / ((double) 2)); // fx3d.transiteFromTOo(tertiaryRoom.getCamera(), p); tertiaryRoom.setCameraCenter(p); }
private void selectionFocusBinding() { if (selectionFocusItem.isSelected()) { selectionModel.getSelectedItems().addListener(selectionFocusListener); } selectionFocusItem .selectedProperty() .addListener( (observable, oldValue, newValue) -> { if (newValue == oldValue) return; if (newValue && !oldValue) { selectionModel.getSelectedItems().addListener(selectionFocusListener); } else { selectionModel.getSelectedItems().removeListener(selectionFocusListener); } }); }
private void initKeyEventHandler() { keyPressedEventHandler = event -> { if (event.getCode() == KeyCode.LEFT) { System.out.println("LEFT"); int focus = selectionModel.getFocusIndex(); selectionModel.deselect(focus); if (focus - 1 >= 0) { selectionModel.select(focus - 1); } event.consume(); } if (event.getCode() == KeyCode.RIGHT) { System.out.println("RIGHT"); int focus = selectionModel.getFocusIndex(); selectionModel.deselect(focus); if (focus + 1 < selectionModel.getItems().length) { selectionModel.select(focus + 1); } event.consume(); } }; }