@Override public void initialize(URL location, ResourceBundle resources) { BooleanBinding noSelection = fileListView.getSelectionModel().selectedItemProperty().isNull(); removeFileButton.disableProperty().bind(noSelection); moveItemUpButton.disableProperty().bind(noSelection.or(fileListView.getSelectionModel().selectedIndexProperty().isEqualTo(0))); // we can't just map the val because we need an ObservableNumberValue IntegerBinding lastIndexBinding = Bindings.createIntegerBinding(() -> fileListView.getItems().size() - 1, Val.wrap(fileListView.itemsProperty()).flatMap(LiveList::sizeOf)); moveItemDownButton.disableProperty().bind(noSelection.or(fileListView.getSelectionModel().selectedIndexProperty().isEqualTo(lastIndexBinding))); fileListView.setCellFactory(DesignerUtil.simpleListCellFactory(File::getName, File::getAbsolutePath)); selectFilesButton.setOnAction(e -> onSelectFileClicked()); removeFileButton.setOnAction(e -> onRemoveFileClicked()); moveItemUpButton.setOnAction(e -> moveUp()); moveItemDownButton.setOnAction(e -> moveDown()); }
@Override public BooleanBinding or(ObservableBooleanValue other) { return getDelegate().or(other); }
Button showButton = new Button("", uniformDesign.createIcon(FontAwesome.Glyph.PENCIL)); showButton.setOnAction(event -> navigateToData.accept(tableView.getSelectionModel().getSelectedItem())); showButton.disableProperty().bind(tableView.getSelectionModel().selectedItemProperty().isNull().or(multipleItemsSelected)); uniformDesign.addDangerIcon(deleteButton,FontAwesome.Glyph.TIMES); deleteButton.setOnAction(event -> deleteSelected(deleteButton.getScene().getWindow())); deleteButton.disableProperty().bind(tableView.getSelectionModel().selectedItemProperty().isNull().or(new SimpleBooleanProperty(!isUserEditable))); moveUpButton.disableProperty().bind(tableView.getSelectionModel().selectedItemProperty().isNull().or(multipleItemsSelected)); moveUpButton.setOnAction(event -> { int selectedIndex = tableView.getSelectionModel().getSelectedIndex(); Button moveDownButton = new Button(); uniformDesign.addIcon(moveDownButton,FontAwesome.Glyph.ANGLE_DOWN); moveDownButton.disableProperty().bind(tableView.getSelectionModel().selectedItemProperty().isNull().or(multipleItemsSelected)); moveDownButton.setOnAction(event -> { int selectedIndex = tableView.getSelectionModel().getSelectedIndex(); copyButton.disableProperty().bind(tableView.getSelectionModel().selectedItemProperty().isNull().or(multipleItemsSelected).or(new SimpleBooleanProperty(!isUserEditable))); copyButton.setOnAction(event -> { T copy = tableView.getSelectionModel().getSelectedItem().utility().semanticCopy();
passwordNew.disableProperty().bind(passwordKey.textProperty().isEmpty().or(validKey.not())); passwordNew.textProperty().addListener((observable, oldValue, newValue) -> { if (!Strings.isNullOrEmpty(passwordKey.getText())){
newValueTextField.disableProperty().bind(keyField.textProperty().isEmpty().or(validKey.not())); newValueTextField.textProperty().addListener((observable, oldValue, newValue1) -> { if (!Strings.isNullOrEmpty(keyField.getText())){
deleteNodeButton = new Button("", deleteFolderGlyph); 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));