@Override public Stream<Item> fieldsFor(HasEnumConstantsProperty column) { final DOC document; try { @SuppressWarnings("unchecked") final DOC doc = (DOC) column; document = doc; } catch (final ClassCastException ex) { throw new SpeedmentException( "Expected document to be a valid column, but was a '" + column.getClass().getName() + "'." ); } return Stream.of( new AddRemoveStringItem<>( document, "Enum Constants", document.enumConstantsProperty(), "Used for defining what contants the generated enum can have", Bindings.equal( document.typeMapperProperty(), StringToEnumTypeMapper.class.getName() ) ) ).map(injector::inject); } }
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)); }
private void buildProcessing() { waitingIndicator.maxHeightProperty().bind(waitingIndicator.maxWidthProperty()); waitingIndicator.maxWidthProperty().set(30); BooleanBinding isWaiting = Bindings.equal(ProcessingState.WAITING, status); BooleanBinding isDoneError = Bindings.equal(ProcessingState.DONE_KO, status); doneOKLabel.visibleProperty().bind(Bindings.equal(ProcessingState.DONE_OK, status)); waitingIndicator.visibleProperty().bind(Bindings.equal(ProcessingState.PROCESSING, status)); allOverContainer.visibleProperty().bind(Bindings.or(isWaiting, isDoneError)); // ok icon doneOKLabel.setText("DONE"); status.addListener((ChangeListener<ProcessingState>) (observable, oldValue, newValue) -> { if (newValue == ProcessingState.DONE_KO) { pseudoClassStateChanged(PseudoClass.getPseudoClass("error"), true); pseudoClassStateChanged(PseudoClass.getPseudoClass("status"), false); } else if (newValue == ProcessingState.PROCESSING) { pseudoClassStateChanged(PseudoClass.getPseudoClass("status"), true); pseudoClassStateChanged(PseudoClass.getPseudoClass("error"), false); } }); }
private void buildProcessing() { waitingIndicator.maxHeightProperty().bind(waitingIndicator.maxWidthProperty()); waitingIndicator.maxWidthProperty().set(30); BooleanBinding isWaiting = Bindings.equal(ProcessingState.WAITING, status); BooleanBinding isDoneError = Bindings.equal(ProcessingState.DONE_KO, status); doneOKLabel.visibleProperty().bind(Bindings.equal(ProcessingState.DONE_OK, status)); waitingIndicator.visibleProperty().bind(Bindings.equal(ProcessingState.PROCESSING, status)); allOverContainer.visibleProperty().bind(Bindings.or(isWaiting, isDoneError)); // ok icon FontIcon fontIcon = new FontIcon(); fontIcon.setStyle("-fx-icon-color:-accent-color-500;-fx-icon-code:mdi-check;-fx-icon-size:30;"); doneOKLabel.setGraphic(fontIcon); status.addListener((ChangeListener<ProcessingState>) (observable, oldValue, newValue) -> { if (newValue == ProcessingState.DONE_KO) { pseudoClassStateChanged(PseudoClass.getPseudoClass("error"), true); pseudoClassStateChanged(PseudoClass.getPseudoClass("status"), false); } else if (newValue == ProcessingState.PROCESSING) { pseudoClassStateChanged(PseudoClass.getPseudoClass("status"), true); pseudoClassStateChanged(PseudoClass.getPseudoClass("error"), false); } }); }
private static <T> void addContextMenu(CheckListView<T> listView) { listView.setOnContextMenuRequested(event -> { ContextMenu contextMenu = new ContextMenu(); MenuItem selectAll = new MenuItem(RESOURCE_BUNDLE.getString("SelectAll")); selectAll.disableProperty().bind(Bindings.equal(listView.getItems().size(), Bindings.size(listView.getCheckModel().getCheckedIndices()))); selectAll.setOnAction(event2 -> listView.getCheckModel().checkAll()); MenuItem deselectAll = new MenuItem(RESOURCE_BUNDLE.getString("DeselectAll")); deselectAll.disableProperty().bind(Bindings.isEmpty(listView.getCheckModel().getCheckedIndices())); deselectAll.setOnAction(event2 -> listView.getCheckModel().clearChecks()); contextMenu.getItems().addAll(selectAll, deselectAll); contextMenu.show(listView, event.getScreenX(), event.getScreenY()); }); }