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 setupReadOnlyTableView() { setupCellValueFactory(firstNameColumn, Person::firstNameProperty); setupCellValueFactory(lastNameColumn, Person::lastNameProperty); setupCellValueFactory(ageColumn, p -> p.age.asObject()); ObservableList<Person> dummyData = generateDummyData(100); treeTableView.setRoot(new RecursiveTreeItem<>(dummyData, RecursiveTreeObject::getChildren)); treeTableView.setShowRoot(false); treeTableViewCount.textProperty() .bind(Bindings.createStringBinding(() -> PREFIX + treeTableView.getCurrentItemsCount() + POSTFIX, treeTableView.currentItemsCountProperty())); treeTableViewAdd.disableProperty() .bind(Bindings.notEqual(-1, treeTableView.getSelectionModel().selectedIndexProperty())); treeTableViewRemove.disableProperty() .bind(Bindings.equal(-1, treeTableView.getSelectionModel().selectedIndexProperty())); treeTableViewAdd.setOnMouseClicked((e) -> { dummyData.add(createNewRandomPerson()); final IntegerProperty currCountProp = treeTableView.currentItemsCountProperty(); currCountProp.set(currCountProp.get() + 1); }); treeTableViewRemove.setOnMouseClicked((e) -> { dummyData.remove(treeTableView.getSelectionModel().selectedItemProperty().get().getValue()); final IntegerProperty currCountProp = treeTableView.currentItemsCountProperty(); currCountProp.set(currCountProp.get() - 1); }); searchField.textProperty().addListener(setupSearchField(treeTableView)); }
tree.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> path.setSelectedCrumb(newValue)); path.setOnCrumbAction(event -> { tree.getSelectionModel().select(event.getSelectedCrumb());
tableView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> { if (newValue!=null){ dataEditor.edit(newValue.getValue().data);
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())); }
/** * @{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()); }); } }