private void scrollToLastItem(TreeItem<N> last) { // select and scroll the last item tree.getSelectionModel().select(last); int selectedIndex = tree.getSelectionModel().getSelectedIndex(); tree.scrollTo(selectedIndex); tree.requestFocus(); }
static TreeTableView createTreeTableView(int width, boolean cellSelection) { TreeTableView treeTableView = buildFileBrowserTreeTableView(); treeTableView.setSortMode(TreeSortMode.ONLY_FIRST_LEVEL); treeTableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); treeTableView.getSelectionModel().setCellSelectionEnabled(cellSelection); treeTableView.setPrefSize(width, 300); if (cellSelection) { treeTableView.getSelectionModel().select(2,(TreeTableColumn)treeTableView.getColumns().get(0)); treeTableView.getSelectionModel().select(3,(TreeTableColumn)treeTableView.getColumns().get(1)); treeTableView.getSelectionModel().select(3,(TreeTableColumn)treeTableView.getColumns().get(2)); treeTableView.getSelectionModel().select(5,(TreeTableColumn)treeTableView.getColumns().get(1)); } else { treeTableView.getSelectionModel().selectRange(5, 8); } return treeTableView; }
private void renameNode(TreeItem selectedTreeItem) { Optional<String> result = RenamePane.showAndWaitDialog((Node) selectedTreeItem.getValue()); result.ifPresent(newName -> { if (selectedTreeItem.getValue() instanceof Node) { Node selectedTreeNode = (Node) selectedTreeItem.getValue(); selectedTreeNode.rename(newName); refresh(selectedTreeItem.getParent()); tree.getSelectionModel().clearSelection(); tree.getSelectionModel().select(selectedTreeItem); } }); }
private void setOnOkButton(List<? extends TreeItem<N>> selectedTreeItems) { List<TreeItem<N>> parentTreeItems = new ArrayList<>(); for (TreeItem<N> selectedTreeItem : selectedTreeItems) { if (selectedTreeItem.getValue() instanceof Node) { Node nodeSelected = (Node) selectedTreeItem.getValue(); nodeSelected.delete(); } parentTreeItems.add(selectedTreeItem.getParent()); } for (TreeItem<N> parentTreeItem : parentTreeItems) { refreshTreeItem(parentTreeItem); tree.getSelectionModel().clearSelection(); tree.getSelectionModel().select(parentTreeItem); selectedNode.setValue((T) parentTreeItem.getValue()); } }
private MenuItem createRenameProjectMenuItem() { MenuItem menuItem = new MenuItem(RESOURCE_BUNDLE.getString("Rename"), Glyph.createAwesomeFont('\uf120').size(ICON_SIZE)); TreeItem<N> selectedTreeItem = tree.getSelectionModel().getSelectedItem(); menuItem.setOnAction(event -> renameNode(selectedTreeItem)); return menuItem; }
private void copyTreeTableCell(final TreeTableView<T> tableView) { StringBuilder clipboardString = new StringBuilder(); for (TreeTablePosition<?, ?> tablePosition : tableView.getSelectionModel().getSelectedCells()) { Object cell = tableView.getColumns().get(tablePosition.getColumn()).getCellData(tablePosition.getRow()); clipboardString.append(cell); } final ClipboardContent content = new ClipboardContent(); content.putString(clipboardString.toString()); Clipboard.getSystemClipboard().setContent(content); }
private MenuItem createCreateFolderMenuItem() { MenuItem menuItem = new MenuItem(RESOURCE_BUNDLE.getString("CreateFolder") + "...", Glyph.createAwesomeFont('\uf115').size(ICON_SIZE)); menuItem.setOnAction(event -> treeModel.showCreateFolderDialog(window, selectedFolder.get()).ifPresent(newFolder -> { TreeItem<N> selectedItem = tree.getSelectionModel().getSelectedItem(); refreshTreeItem(selectedItem); }) ); return menuItem; }
public TreeTableView<T> addMenu(TreeTableView<T> treeTableView){ treeTableView.setTableMenuButtonVisible(true); treeTableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); addMenu(treeTableView,()->copyTreeTableCell(treeTableView), ()->createCsvFromTreeTable(treeTableView)); return treeTableView; }
private void onMouseClickedEvent(MouseEvent event) { TreeItem<N> item = tree.getSelectionModel().getSelectedItem(); N node = item != null ? item.getValue() : null; selectedNode.setValue(node != null && filter.test(node, treeModel) ? (T) node : null); selectedFolder.setValue(node != null && treeModel.isFolder(node) && treeModel.isWritable((D) node) ? (D) node : null); doubleClick.setValue(event.getClickCount() == 2); }
ObservableList< TreeItem< RegistrationExplorerRow > > selectedItems = treeTable.getSelectionModel().getSelectedItems();
ObservableList< TreeItem< RegistrationExplorerRow > > selectedItems = treeTable.getSelectionModel().getSelectedItems();
protected void delete() ObservableList< TreeItem< RegistrationExplorerRow > > selectedItems = treeTable.getSelectionModel().getSelectedItems();
private void validate(TreeTableView<ValidationAndData> tableView){ final TreeItem<ValidationAndData> root = new TreeItem<>(); tableView.setRoot(root); tableView.setShowRoot(false); HashMap<Data,Data> child2parent = this.root.internal().getChildToParentMap(); List<ValidationError> validationErrors= new ArrayList<>(); for (Data data: this.root.internal().collectChildrenDeep()){ TreeItem<ValidationAndData> dataItem = new TreeItem<>(); dataItem.setExpanded(true); data.internal().validateFlat().forEach(validationError->{ validationErrors.add(validationError); TreeItem<ValidationAndData> error =new TreeItem<>(new ValidationAndData(validationError,data,data.internal().getDisplayText())); dataItem.getChildren().add(error); }); if (!dataItem.getChildren().isEmpty()){ dataItem.setValue(new ValidationAndData(null,data,data.internal().getPathFromRoot(child2parent).stream().map(d->d.internal().getDisplayText()).collect(Collectors.joining("/")))); root.getChildren().add(dataItem); } } tableView.getStyleClass().remove("error"); if (!validationErrors.isEmpty()){ tableView.getStyleClass().add("error"); } tableView.getSelectionModel().clearSelection(); dataEditor.reset(); isValid.set(validationErrors.isEmpty()); }
private void dragDroppedEvent(Object value, TreeItem<N> treeItem, DragEvent event, Node node) { if (value instanceof Folder && value != dragAndDropMove.getSource()) { Folder folder = (Folder) node; int count = 0; success = false; treeItemChildrenSize(treeItem, count); accepTransferDrag(folder, success); event.setDropCompleted(success); refreshTreeItem(dragAndDropMove.getSourceTreeItem().getParent()); refreshTreeItem(treeItem); tree.getSelectionModel().clearSelection(); event.consume(); } }
/** * @{inheritedDoc} */ @Override public void postProcess() { super.postProcess(); AbstractTableStructure table = (AbstractTableStructure) processedElement(); if (table.getTableStructure() instanceof TreeTableView) { treeTableView = (TreeTableView) table.getTableStructure(); treeTableView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); treeTableView.getSelectionModel().selectedItemProperty().addListener((ChangeListener<Object>) (observable, oldValue, newValue) -> { LazyTreeItem item = (LazyTreeItem) newValue; selectedElementProperty().set(item.getValue()); }); } else if (table.getTableStructure() instanceof TreeView) { treeView = (TreeView) table.getTableStructure(); treeView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); treeView.getSelectionModel().selectedItemProperty().addListener((ChangeListener<Object>) (observable, oldValue, newValue) -> { lastSelectedTreeItem = (LazyTreeItem) newValue; selectedElementProperty().set(lastSelectedTreeItem.getValue()); }); } }
tree.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); tree.getSelectionModel().getSelectedItems().addListener(this::treeViewChangeListener); tree.setOnMouseClicked(this::onMouseClickedEvent); ScrollPane scrollPane = new ScrollPane(tree); tree.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> path.setSelectedCrumb(newValue)); path.setOnCrumbAction(event -> { tree.getSelectionModel().select(event.getSelectedCrumb()); int index = tree.getRow(event.getSelectedCrumb()); tree.scrollTo(index); createFolderButton.setOnAction(event -> treeModel.showCreateFolderDialog(window, selectedFolder.get()).ifPresent(newFolder -> { TreeItem<N> selectedItem = tree.getSelectionModel().getSelectedItem(); refresh(selectedItem); }) deleteNodeButton.setPadding(new Insets(3, 5, 3, 5)); deleteNodeButton.disableProperty().bind(selectedNode.isNull().or(deleteMenuItemDisableProperty)); ObservableList<TreeItem<N>> selectedItems = tree.getSelectionModel().getSelectedItems(); deleteNodeButton.setOnAction(event -> createDeleteAlert(selectedItems)); setHgap(5); tree.getSelectionModel().select(nodes.get(0));
tableView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> { if (newValue!=null){ dataEditor.edit(newValue.getValue().data);