@Override public void onChanged(Change<? extends Node> change) { while (change.next()) { if (change.wasAdded()) { change.getAddedSubList().forEach(this::observe); } else if (change.wasRemoved()) { change.getRemoved().forEach(this::unobserve); } } } }
if (change.wasRemoved()) { change.getRemoved() .forEach(val -> branch.getChildren()
if (change.wasRemoved()) { List<TreeItem<T>> removedItems = new ArrayList<>(); for (T t : change.getRemoved()) {
/** * {@inheritDoc} */ @Override public void setupValueChangedListeners() { field.validProperty().addListener((observable, oldValue, newValue) -> updateStyle(INVALID_CLASS, !newValue)); field.requiredProperty().addListener((observable, oldValue, newValue) -> updateStyle(REQUIRED_CLASS, newValue)); field.changedProperty().addListener((observable, oldValue, newValue) -> updateStyle(CHANGED_CLASS, newValue)); field.editableProperty().addListener((observable, oldValue, newValue) -> updateStyle(DISABLED_CLASS, !newValue)); field.getStyleClass().addListener((ListChangeListener<String>) c -> { while (c.next()) { if (c.wasRemoved()) { getStyleClass().removeAll(c.getRemoved()); } if (c.wasAdded()) { getStyleClass().addAll(c.getAddedSubList()); } } }); }
@Override protected void sourceChanged(ListChangeListener.Change<? extends S> c) { beginChange(); while (c.next()) { if (c.wasPermutated()) { permutate(c); } else if (c.wasReplaced()) { replace(c); } else if (c.wasUpdated()) { update(c); } else if (c.wasAdded()) { add(c); } else if (c.wasRemoved()) { remove(c); } } endChange(); }
@SuppressWarnings("unchecked") private void onTabsChangedJAT(final ListChangeListener.Change<? extends Dockable> change) { final SequentialTransition st = new SequentialTransition(); while (change.next()) { System.out.println(change); if (change.wasPermutated()) { System.err.println("PERMUTATION -------------------------------------------------------------------"); // getView().removeTab(change.getList().get(change.getFrom())); // getView().addTab(0, change.getList().get(change.getFrom())); } if (change.wasRemoved()) { st.getChildren().add(view().removeTab((List<Dockable>) change.getRemoved())); } if (change.wasAdded()) { st.getChildren().add(view().addTab(change.getFrom(), change.getList().get(change.getFrom()))); } } st.play(); }
private void _handleListModification(Change<? extends ResourceItem> change) { while (change.next()) { if (change.wasRemoved()) { Map<DirItem, TreeItem<DirItem>> map = getChildren().stream().collect(Collectors.toMap( c -> c.getValue(), c -> c)); List<TreeItem<DirItem>> itemsToRemove = change.getRemoved().stream().filter( c -> map.containsKey(c)).map(c -> map.get(c)).collect(Collectors.toList()); getChildren().removeAll(itemsToRemove); } if (change.wasAdded()) { getChildren().addAll( change.getAddedSubList().stream() .filter(c -> c instanceof DirItem) .map((c) -> new DirTreeItem((DirItem) c)) .collect(Collectors.toList())); } } } }
private void _handleListModification(Change<? extends ResourceItem> change) { while (change.next()) { if (change.wasRemoved()) { Map<DirItem, TreeItem<DirItem>> map = getChildren().stream().collect(Collectors.toMap( c -> c.getValue(), c -> c)); List<TreeItem<DirItem>> itemsToRemove = change.getRemoved().stream().filter( c -> map.containsKey(c)).map(c -> map.get(c)).collect(Collectors.toList()); getChildren().removeAll(itemsToRemove); } if (change.wasAdded()) { getChildren().addAll( change.getAddedSubList().stream() .filter(c -> c instanceof DirItem) .map((c) -> new DirTreeItem((DirItem) c)) .collect(Collectors.toList())); } } } }
@Override public void onChanged(Change<? extends Task<?>> c) { while (c.next()) { if (c.wasAdded()) { for (Task<?> task : c.getAddedSubList()) { task.addEventHandler(WorkerStateEvent.ANY, taskHandler); } } else if (c.wasRemoved()) { for (Task<?> task : c.getRemoved()) { task.removeEventHandler(WorkerStateEvent.ANY, taskHandler); } } } } });
@Override public void onChanged(Change<? extends Integer> c) { while (c.next()) { if (c.wasAdded()) { for (int i : c.getAddedSubList()) { columnsListView.getItems().get(i).setVisible(true); } } if (c.wasRemoved()) { for (int i : c.getRemoved()) { columnsListView.getItems().get(i).setVisible(false); } } } } };
private void configureItemChangeListener() { items.addListener((ListChangeListener<E>) c -> { while (c.next()) { if (c.wasRemoved()) getChildren().remove(c.getFrom(), c.getTo() + 1); if (c.wasAdded()) { for (int i = 0; i < c.getAddedSize(); i++) { E item = c.getAddedSubList().get(i); Node cell = getCellFactory().apply(this, item); getChildren().add(i + c.getFrom(), cell); } } } }); }
@Override public void onChanged(final Change<? extends Integer> c) { // when the selectedIndices ObservableList changes, we manually call // the observers of the selectedItems ObservableList. boolean hasRealChangeOccurred = false; while (c.next() && ! hasRealChangeOccurred) { hasRealChangeOccurred = c.wasAdded() || c.wasRemoved(); } if (hasRealChangeOccurred) { c.reset(); checkedItemsList.callObservers(new MappingChange<>(c, map, checkedItemsList)); } c.reset(); } });
public static <T> Observable<T> fromObservableListRemovals(final ObservableList<T> source) { return Observable.create((ObservableOnSubscribe<T>) subscriber -> { ListChangeListener<T> listener = c -> { while (c.next()) { if (c.wasRemoved()) { c.getRemoved().forEach(subscriber::onNext); } } }; source.addListener(listener); subscriber.setDisposable(JavaFxSubscriptions.unsubscribeInEventDispatchThread(() -> source.removeListener(listener))); }).subscribeOn(JavaFxScheduler.platform()); } public static <T> Observable<T> fromObservableListUpdates(final ObservableList<T> source) {
public static <T> Observable<T> fromObservableListRemovals(final ObservableList<T> source) { return Observable.create((ObservableOnSubscribe<T>) subscriber -> { ListChangeListener<T> listener = c -> { while (c.next()) { if (c.wasRemoved()) { c.getRemoved().forEach(subscriber::onNext); } } }; source.addListener(listener); subscriber.setDisposable(JavaFxSubscriptions.unsubscribeInEventDispatchThread(() -> source.removeListener(listener))); }).subscribeOn(JavaFxScheduler.platform()); } public static <T> Observable<T> fromObservableListUpdates(final ObservableList<T> source) {
@Override public boolean wasRemoved() { return c.wasRemoved(); }
@Override public void onChanged(Change<? extends String> c) { while(c.next()) { if (c.wasRemoved()) { styleable.getStyleClass().removeAll(c.getRemoved()); } if (c.wasAdded()) { styleable.getStyleClass().addAll(c.getAddedSubList()); } } } });
@Override protected void sourceChanged(@Nonnull ListChangeListener.Change<? extends E> c) { while (c.next()) { if (c.wasAdded()) { c.getAddedSubList().forEach(this::registerListeners); } else if (c.wasRemoved()) { c.getRemoved().forEach(this::unregisterListeners); } } fireChange(c); }
private void monitorChanges() { properties.addListener((ListChangeListener<Property>) change -> { while (change.next()) { if (change.wasAdded()) change.getAddedSubList().forEach(p -> p.addListener(dirtyListener)); if (change.wasRemoved()) change.getRemoved().forEach(p -> p.removeListener(dirtyListener)); } }); }
getSkinnable().getSelectionModel().select(selectedTab); if (change.wasRemoved()) { tabsToBeRemoved.addAll(change.getRemoved());
/** * Creates a new {@link PropertySheet} which will render a collection of * properties. * * @param properties the list of properties to render */ public PropertySheet(ObservableList<PropertyEditor.Item> properties) { requireNonNull(properties); this.properties = FXCollections.unmodifiableObservableList(properties); layout = new PropertyLayout(properties); setCenter(layout); this.properties.addListener((ListChangeListener.Change<? extends PropertyEditor.Item> c) -> { while (c.next()) { if (c.wasRemoved() && properties.isEmpty()) { layout.remove(); layout = new PropertyLayout(properties); setCenter(layout); } else if (c.wasAdded()) { c.getAddedSubList().stream() .forEachOrdered(i -> layout.addItem(i)); } } }); } }