Skip to content

Commit 74a888a

Browse files
committed
Merge remote-tracking branch 'origin/1.x-invalidation-factory' into 1.x
2 parents c3512f1 + 9a91b22 commit 74a888a

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

src/main/java/rx/javafx/sources/ObservableValueSource.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@
1515
*/
1616
package rx.javafx.sources;
1717

18+
import javafx.beans.InvalidationListener;
19+
import javafx.beans.property.Property;
1820
import javafx.beans.value.ChangeListener;
1921
import javafx.beans.value.ObservableValue;
2022
import rx.Observable;
21-
import rx.Subscriber;
2223
import rx.subscriptions.JavaFxSubscriptions;
2324

2425
public class ObservableValueSource {
@@ -48,4 +49,11 @@ public static <T> Observable<Change<T>> fromObservableValueChanges(final Observa
4849
});
4950
}
5051

52+
public static Observable<javafx.beans.Observable> fromInvalidations(javafx.beans.Observable fxObservable) {
53+
return Observable.create(subscriber -> {
54+
final InvalidationListener listener = subscriber::onNext;
55+
fxObservable.addListener(listener);
56+
subscriber.add(JavaFxSubscriptions.unsubscribeInEventDispatchThread(() -> fxObservable.removeListener(listener)));
57+
});
58+
}
5159
}

src/main/java/rx/observables/JavaFxObservable.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,15 @@ public static <T> Observable<Change<T>> fromObservableValueChanges(final Observa
120120
return changesOf(fxObservable);
121121
}
122122

123+
/**
124+
* Emits a JavaFX Observable every time it is invalidated.
125+
* @param fxObservable
126+
* @return
127+
*/
128+
public static Observable<javafx.beans.Observable> invalidationsOf(final javafx.beans.Observable fxObservable) {
129+
return ObservableValueSource.fromInvalidations(fxObservable);
130+
}
131+
123132
/**
124133
* Creates an observable corresponding to javafx Scene events.
125134
*

0 commit comments

Comments
 (0)