protected void init() { this.getStyleClass().add(DEFAULT_STYLE_CLASS); this.setRowFactory(param -> new JFXTreeTableRow<>()); this.getSelectionModel().selectedItemProperty().addListener((o, oldVal, newVal) -> { if (newVal != null && newVal.getValue() != null) { itemWasSelected = true; } }); this.predicate.addListener(observable -> filter(getPredicate())); this.sceneProperty().addListener(observable -> { if (getScene() == null) { threadPool.shutdownNow(); } else if (threadPool.isTerminated()) { threadPool = createThreadPool(); } }); this.rootProperty().addListener(observable -> { if (getRoot() != null) { setCurrentItemsCount(count(getRoot())); } if(!internalSetRoot) { originalRoot = getRoot(); reGroup(); } }); // compute the current items count setCurrentItemsCount(count(getRoot())); }
getSelectionModel().clearSelection(); }); internalSetRoot = false; getSortOrder().addAll(sortOrder); getSelectionModel().select(0); });
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));
ObservableList< TreeItem< RegistrationExplorerRow > > selectedItems = treeTable.getSelectionModel().getSelectedItems();
tableView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> { if (newValue!=null){ dataEditor.edit(newValue.getValue().data);
protected void delete() ObservableList< TreeItem< RegistrationExplorerRow > > selectedItems = treeTable.getSelectionModel().getSelectedItems();
getSelectionModel().clearSelection(); }); internalSetRoot = false; getSortOrder().addAll(sortOrder); getSelectionModel().select(0); });
setRoot(originalRoot); internalSetRoot = false; getSelectionModel().select(0); getSortOrder().addAll(sortOrder); if (grouped.size() != 0) {
ObservableList< TreeItem< RegistrationExplorerRow > > selectedItems = treeTable.getSelectionModel().getSelectedItems();
protected void init() { this.getStyleClass().add(DEFAULT_STYLE_CLASS); this.setRowFactory(param -> new JFXTreeTableRow<>()); this.getSelectionModel().selectedItemProperty().addListener((o, oldVal, newVal) -> { if (newVal != null && newVal.getValue() != null) { itemWasSelected = true; } }); this.predicate.addListener(observable -> filter(getPredicate())); this.sceneProperty().addListener(observable -> { if (getScene() == null) { threadPool.shutdownNow(); } else if (threadPool.isTerminated()) { threadPool = createThreadPool(); } }); this.rootProperty().addListener(observable -> { if (getRoot() != null) { setCurrentItemsCount(count(getRoot())); } if(!internalSetRoot) { originalRoot = getRoot(); reGroup(); } }); // compute the current items count setCurrentItemsCount(count(getRoot())); }
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()); }
/** * @{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()); }); } }
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 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 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(); } }
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 scrollToLastItem(TreeItem<N> last) { // select and scroll the last item tree.getSelectionModel().select(last); int selectedIndex = tree.getSelectionModel().getSelectedIndex(); tree.scrollTo(selectedIndex); tree.requestFocus(); }
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 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); } }); }
/** * {@inheritDoc} */ @Override public void sort() { getSelectionModel().clearSelection(); super.sort(); if (itemWasSelected) { getSelectionModel().select(0); } }