for (TreeTableColumn<S, ?> column : getTreeTableView().getColumns()) { columns.addAll(getLeaves(column)); getTreeTableView().edit(index, nextColumn); getTreeTableView().scrollToColumn(nextColumn);
/** * @{inheritedDoc} */ @Override public void buildContent() { treeView = new TreeTableView<>(); final String treePaginatedDataProvider = contentConfiguration.getPropertyValue("dataLoader"); this.treePaginatedDataProvider = (ITreePaginatedDataProvider) Services.getBean(treePaginatedDataProvider); this.treePaginatedDataProvider.setRootContext(controller); final List<TableColumnBase> tableColumns = getTableColumns(); for(TableColumnBase e: tableColumns) { treeView.getColumns().add((TreeTableColumn<OperationData, ?>) e); } treeView.setCache(true); treeView.setCacheHint(CacheHint.SPEED); final TreeItem root = this.treePaginatedDataProvider.getRootItem(); treeView.setRoot(root); treeView.setShowRoot(true); // style NodeHelper.setStyleClass(treeView, contentConfiguration, "treeViewStyleClass", true); }
tree.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE); tree.setShowRoot(false); rootItem.getChildren().add(new TreeItem<>()); TreeTableColumn<N, N> fileColumn = new TreeTableColumn<>(RESOURCE_BUNDLE.getString("File")); tree.getColumns().setAll(fileColumn, descriptionColumn); tree.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); tree.getSelectionModel().getSelectedItems().addListener(this::treeViewChangeListener); tree.setOnMouseClicked(this::onMouseClickedEvent); ScrollPane scrollPane = new ScrollPane(tree); scrollPane.setFitToWidth(true); 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); tree.layout(); }); javafx.scene.Node createFolderGlyph = Glyph.createAwesomeFont('\uf07b').size("1.3em").color("#FFDB69") 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));
root.setExpanded(true); final TreeTableView<DummyFile> treeTableView = new TreeTableView<DummyFile>(); treeTableView.setShowRoot(true); treeTableView.setRoot(root); treeTableView.getColumns().setAll(nameColumn, sizeColumn, lastModifiedColumn); return treeTableView;
final SplitPane splitPane = new SplitPane(); splitPane.setOrientation(Orientation.VERTICAL); final TreeTableView<ValidationAndData> tableView = new TreeTableView<>(); tableView.setColumnResizePolicy(TreeTableView.CONSTRAINED_RESIZE_POLICY); tableView.getColumns().add(column); tableView.getColumns().add(column); tableView.getColumns().add(column); tableView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> { if (newValue!=null){ dataEditor.edit(newValue.getValue().data); tableView.getRoot().setExpanded(true);
TreeTableView<Person> treeTable = new TreeTableView<Person>(rootTreeTableItem); TreeTableColumn<Person, String> firstNameTreeCol = new TreeTableColumn<Person, String>("First Name"); firstNameTreeCol.setCellValueFactory(new Callback<TreeTableColumn.CellDataFeatures<Person, String>, ObservableValue<String>>() { treeTable.getColumns().setAll(firstNameTreeCol, lastNameTreeCol, primaryMailCol, vipTreeTableCol); treeTable.setPrefHeight(150); treeTable.setPrefWidth(450); treeTableContainer.getChildren().add(treeTable);
public void initFX() treeTable = new TreeTableView<>(); treeTable.setEditable( true ); List<TreeTableColumn< RegistrationExplorerRow , String >> columns = new ArrayList<>(); treeTable.getColumns().addAll( columns ); treeTable.setShowRoot( false ); Group root = new Group(); Scene scene = new Scene(root);
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 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 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 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 String createCsvFromTreeTable(TreeTableView<T> tableView) { StringBuilder result = new StringBuilder(); for (TreeTableColumn<?, ?> column : tableView.getColumns()) { result.append(escapeCsvString(column.getText())).append("\t"); } result.append("\n"); ArrayList<T> items = new ArrayList<>(); collectTreeTableItems(tableView.getRoot(), items); for (int i = 0; i < items.size(); i++) { for (TreeTableColumn<?, ?> column : tableView.getColumns()) { Object cellData = column.getCellData(i); String data = ""; if (cellData != null) { data = cellData.toString(); } result.append(escapeCsvString(data)).append("\t"); } result.append("\n"); } return result.toString(); }
/** * Set table columns to columns from table wizardConfiguration * * @param tableColumns */ public void setColumns(final List<TreeTableColumn> tableColumns) { // if preferred setting is not null, load columns according to it final VLViewTableSettingXML preferredSetting = null;//DatatableSettingsHelper.instance().getPreferredFor("TO DO"); if (preferredSetting != null) { reloadTableSetting(preferredSetting); } else { if ((tableColumns != null) && !tableColumns.isEmpty()) { for(TreeTableColumn e: tableColumns) { treeView.getColumns().add(e); } } } }
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(); }
public TreeTableView<T> addMenu(TreeTableView<T> treeTableView){ treeTableView.setTableMenuButtonVisible(true); treeTableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); addMenu(treeTableView,()->copyTreeTableCell(treeTableView), ()->createCsvFromTreeTable(treeTableView)); return treeTableView; }
@Override public void run() { treeTable.setRoot( root ); } } );
private void dragDetectedEvent(N value, TreeItem<N> treeItem, MouseEvent event) { dragAndDropMove = new DragAndDropMove(); dragAndDropMove.setSource(value); dragAndDropMove.setSourceTreeItem(treeItem); if (value instanceof Project && treeItem != tree.getRoot()) { Dragboard db = tree.startDragAndDrop(TransferMode.ANY); ClipboardContent cb = new ClipboardContent(); cb.putString(((Project) value).getName()); db.setContent(cb); event.consume(); } }
private void selectNode(List<String> pathList) { selectNode(tree.getRoot(), new ArrayList<>(pathList)); }
TreeTableView<Person> treeTable = new TreeTableView<Person>(rootTreeTableItem); TreeTableColumn<Person, String> firstNameTreeCol = new TreeTableColumn<Person, String>("First Name"); firstNameTreeCol.setPrefWidth(100); treeTable.getColumns().setAll(firstNameTreeCol, lastNameTreeCol, primaryMailCol, vipTreeTableCol); treeTable.setPrefHeight(250); treeTable.setPrefWidth(600); treeTableContainer.getChildren().add(treeTable); tabTreeTableBox.setContent(treeTableContainer);
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()); } }