@Override public void onChanged(MapChangeListener.Change<?, ?> change) { T btn = btnWeakReference.get(); if (btn == null) { action.getProperties().removeListener(this); } else { btn.getProperties().clear(); btn.getProperties().putAll(action.getProperties()); } }
@Override public void onChanged(MapChangeListener.Change<?, ?> change) { T menuItem = menuItemWeakReference.get(); if (menuItem == null) { action.getProperties().removeListener(this); } else { menuItem.getProperties().clear(); menuItem.getProperties().putAll(action.getProperties()); } }
public static <K,T> Observable<ObservableMap<K,T>> fromObservableMap(final ObservableMap<K,T> source) { return Observable.create((ObservableOnSubscribe<ObservableMap<K,T>>) subscriber -> { MapChangeListener<K,T> listener = c -> subscriber.onNext(source); source.addListener(listener); subscriber.setDisposable(JavaFxSubscriptions.unsubscribeInEventDispatchThread(() -> source.removeListener(listener))); }).startWith(source).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()); }
public static <K,T> Observable<Entry<K,T>> fromObservableMapAdds(final ObservableMap<K,T> source) { return Observable.create((ObservableOnSubscribe<Entry<K,T>>) subscriber -> { MapChangeListener<K,T> listener = c -> { if (c.wasAdded()) { subscriber.onNext(new SimpleEntry<K,T>(c.getKey(),c.getValueAdded())); } }; source.addListener(listener); subscriber.setDisposable(JavaFxSubscriptions.unsubscribeInEventDispatchThread(() -> source.removeListener(listener))); }).subscribeOn(JavaFxScheduler.platform()); }
public static <K,T> Observable<ObservableMap<K,T>> fromObservableMap(final ObservableMap<K,T> source) { return Observable.create((ObservableOnSubscribe<ObservableMap<K,T>>) subscriber -> { MapChangeListener<K,T> listener = c -> subscriber.onNext(source); source.addListener(listener); subscriber.setDisposable(JavaFxSubscriptions.unsubscribeInEventDispatchThread(() -> source.removeListener(listener))); }).startWith(source).subscribeOn(JavaFxScheduler.platform()); }
public static <K,T> Observable<Entry<K,T>> fromObservableMapAdds(final ObservableMap<K,T> source) { return Observable.create((ObservableOnSubscribe<Entry<K,T>>) subscriber -> { MapChangeListener<K,T> listener = c -> { if (c.wasAdded()) { subscriber.onNext(new SimpleEntry<K,T>(c.getKey(),c.getValueAdded())); } }; 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()); }
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()); } }
@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); } } }
private static void unconfigure(final ButtonBase btn) { if (btn == null || !(btn.getOnAction() instanceof Action)) { return; } Action action = (Action) btn.getOnAction(); btn.styleProperty().unbind(); btn.textProperty().unbind(); btn.disableProperty().unbind(); btn.graphicProperty().unbind(); action.getProperties().removeListener(new ButtonPropertiesMapChangeListener<>(btn, action)); btn.tooltipProperty().unbind(); if (btn instanceof ToggleButton) { ((ToggleButton) btn).selectedProperty().unbindBidirectional(action.selectedProperty()); } btn.setOnAction(null); }
private static void unconfigure(final MenuItem menuItem) { if (menuItem == null || !(menuItem.getOnAction() instanceof Action)) { return; } Action action = (Action) menuItem.getOnAction(); menuItem.styleProperty().unbind(); menuItem.textProperty().unbind(); menuItem.disableProperty().unbind(); menuItem.acceleratorProperty().unbind(); menuItem.graphicProperty().unbind(); action.getProperties().removeListener(new MenuItemPropertiesMapChangeListener<>(menuItem, action)); if (menuItem instanceof RadioMenuItem) { ((RadioMenuItem) menuItem).selectedProperty().unbindBidirectional(action.selectedProperty()); } else if (menuItem instanceof CheckMenuItem) { ((CheckMenuItem) menuItem).selectedProperty().unbindBidirectional(action.selectedProperty()); } menuItem.setOnAction(null); }