@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); } } } }
change.getRemoved() .forEach(val -> branch.getChildren() .removeIf(item -> val.equals(item.getValue()))
if (change.wasRemoved()) { List<TreeItem<T>> removedItems = new ArrayList<>(); for (T t : change.getRemoved()) { final TreeItem<T> treeItem = itemsMap.remove(t); if (treeItem != null) {
/** * {@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()); } } }); }
@SuppressWarnings("unchecked") private void onPanesChanged(final ListChangeListener.Change<? extends PartConfig<?, ?>> change) { 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()) { final List<PartConfig<?, ?>> rList = (List<PartConfig<?, ?>>) change.getRemoved(); callCommand(RemoveDockCommand.class, DockWaveBean.create().dockConfig(object()).parts(rList.toArray(new PartConfig<?, ?>[0]))); } if (change.wasAdded()) { // index change.getFrom() callCommand(AddDockCommand.class, DockWaveBean.create().dockConfig(object()).parts(change.getList().get(change.getFrom()))); } } }
@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(); }
@Override public void onChanged(Change<? extends TreeItem<N>> c) { if (c.next() && c.wasReplaced() && c.getRemovedSize() == 1 && c.getRemoved().get(0).getValue() == null) { TreeItem<N> next = null; for (TreeItem<N> addedNode : c.getAddedSubList()) { if (treeModel.getName(addedNode.getValue()).equals(name)) { next = addedNode; break; } } if (next != null) { selectNode(next, pathList); } else { scrollToLastItem(last); } } c.getList().removeListener(this); } });
static <E, F extends E> TransientListChange<E> fromCurrentStateOf(Change<F> ch) { List<F> list = ch.getList(); int from = ch.getFrom(); int to = ch.getTo(); List<F> removed; if(ch.wasPermutated()) { int len = to - from; removed = new ArrayList<>(len); for(int i = 0; i < len; ++i) { int pi = ch.getPermutation(from + i); removed.add(list.get(pi)); } } else { removed = ch.getRemoved(); } return new TransientListChangeImpl<>(ch.getList(), from, to, removed); } }
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); } } } } };
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 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 sourceChanged( Change<? extends ObservableValue<? extends T>> ch) { while(ch.next()) { ch.getRemoved().forEach(elem -> elem.removeListener(weakElemListener)); ch.getAddedSubList().forEach(elem -> elem.addListener(weakElemListener)); invalidate(); } }
@Override public List<E> getRemoved() { ArrayList<E> res = new ArrayList<>(c.getRemovedSize()); for(F e: c.getRemoved()) { res.add(mapper.apply(e)); } return res; }
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)); } }); }
@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()); } } } });
tabsToBeRemoved.addAll(change.getRemoved());