zealous
10/24/2017, 10:10 AMclass SourceView : View() {
val signalController: SignalsController by inject()
add(JFXToggleButton().apply {
selectedProperty().toObservableChanges().subscribe { signalController.sourceToSignalProperty.value = selectedProperty().value; }
})
}
class TargetView : View() {
val signalController: SignalsController by inject()
Observable.combineLatest(signalController.searchFieldProperty.toObservableChanges().startWith(Change<String>("", "")),
signalController.protocolPredicateProperty.toObservableChanges().startWith(Change<List<(SignalProperty) -> Boolean>>(listOf(), listOf())),
signalController.sourceToSignalProperty.toObservableChanges().startWith(Change(true, true)),
Function3 { _: Change<String>, _: Change<List<(SignalProperty) -> Boolean>>, enable: Change<Boolean> -> { enable.newVal } })
.forEach { f ->
if (f()) doSomeFancyStuff()
}
}
class SignalsController : Controller() {
val sourceToSignalProperty = SimpleBooleanProperty(true)
var sourceToSignal by sourceToSignalProperty
}