public static <K,T> Observable<Entry<K,T>> fromObservableMapRemovals(final ObservableMap<K,T> source) { return Observable.create((ObservableOnSubscribe<Entry<K,T>>) subscriber -> { MapChangeListener<K,T> listener = c -> { if (c.wasRemoved()) { subscriber.onNext(new SimpleEntry<K,T>(c.getKey(),c.getValueRemoved())); } }; source.addListener(listener); subscriber.setDisposable(JavaFxSubscriptions.unsubscribeInEventDispatchThread(() -> source.removeListener(listener))); }).subscribeOn(JavaFxScheduler.platform()); }
public static <K,T> Observable<Entry<K,T>> fromObservableMapRemovals(final ObservableMap<K,T> source) { return Observable.create((ObservableOnSubscribe<Entry<K,T>>) subscriber -> { MapChangeListener<K,T> listener = c -> { if (c.wasRemoved()) { subscriber.onNext(new SimpleEntry<K,T>(c.getKey(),c.getValueRemoved())); } }; source.addListener(listener); subscriber.setDisposable(JavaFxSubscriptions.unsubscribeInEventDispatchThread(() -> source.removeListener(listener))); }).subscribeOn(JavaFxScheduler.platform()); }
@Override public void onChanged( javafx.collections.MapChangeListener.Change<? extends Selection<PS, SEG, S>, ? extends SelectionPath> change) { ParagraphText<PS, SEG, S> paragraphText = ref.get(); if (null == paragraphText) { change.getMap().removeListener(this); return; } if (change.wasAdded()) { SelectionPath p = change.getValueAdded(); p.rangeProperty().addListener(requestLayout1); p.layoutXProperty().bind(leftInset); p.layoutYProperty().bind(topInset); paragraphText.getChildren().add(paragraphText.selectionShapeStartIndex, p); paragraphText.updateSingleSelection(p); } else if (change.wasRemoved()) { SelectionPath p = change.getValueRemoved(); p.rangeProperty().removeListener(requestLayout1); p.layoutXProperty().unbind(); p.layoutYProperty().unbind(); paragraphText.getChildren().remove(p); } } }
if (change.wasRemoved()) { locationsGroup.getChildren().remove(change.getValueRemoved());
public static <K,T> Observable<MapChange<K,T>> fromObservableMapChanges(final ObservableMap<K,T> source) { return Observable.create((ObservableOnSubscribe<MapChange<K,T>>) subscriber -> { MapChangeListener<K,T> listener = c -> { if (c.wasRemoved()) { subscriber.onNext(new MapChange<K,T>(c.getKey(),c.getValueRemoved(),Flag.REMOVED)); } if (c.wasAdded()) { subscriber.onNext(new MapChange<K,T>(c.getKey(),c.getValueAdded(),Flag.ADDED)); } }; source.addListener(listener); subscriber.setDisposable(JavaFxSubscriptions.unsubscribeInEventDispatchThread(() -> source.removeListener(listener))); }).subscribeOn(JavaFxScheduler.platform()); } }
public static <K,T> Observable<MapChange<K,T>> fromObservableMapChanges(final ObservableMap<K,T> source) { return Observable.create((ObservableOnSubscribe<MapChange<K,T>>) subscriber -> { MapChangeListener<K,T> listener = c -> { if (c.wasRemoved()) { subscriber.onNext(new MapChange<K,T>(c.getKey(),c.getValueRemoved(),Flag.REMOVED)); } if (c.wasAdded()) { subscriber.onNext(new MapChange<K,T>(c.getKey(),c.getValueAdded(),Flag.ADDED)); } }; source.addListener(listener); subscriber.setDisposable(JavaFxSubscriptions.unsubscribeInEventDispatchThread(() -> source.removeListener(listener))); }).subscribeOn(JavaFxScheduler.platform()); } }