tornadofx / tornadofx / BindingAwareProperty

BindingAwareProperty

interface BindingAwareProperty<T> : BindingAware, Property<T>

A property wrapper that will report its ViewModel relation to a central location to make it possible for validators to retrieve the correct ValidationContext from the ViewModel this property is bound to.

Functions

recordBinding open fun recordBinding(observableValue: ObservableValue<*>?): Unit

Extension Properties

isDirty val <T> Property<T>.isDirty: Boolean

Check if a given property from the ViewModel is dirty. This is a shorthand form of:

isNotDirty val <T> Property<T>.isNotDirty: Boolean
viewModel val Property<*>.viewModel: ViewModel?

Extract the ViewModel from a property that is bound towards a ViewModel Facade

viewModelFacade val ObservableValue<*>.viewModelFacade: Property<*>?

Extract the ViewModel Facade from a property that is bound towards it

Extension Functions

addValidator fun <T> Property<T>.addValidator(node: Node, trigger: ValidationTrigger = ValidationTrigger.OnChange(), validator: ValidationContext.(T?) -> ValidationMessage?): <ERROR CLASS>

Add the given validator to a property that resides inside a ViewModel. The supplied node will be decorated by the current decorationProvider for this context inside the ViewModel of the property if validation fails.

animate fun <T> WritableValue<T>.animate(endValue: T, duration: Duration, interpolator: Interpolator? = null, op: Timeline.() -> Unit = {}): Unit
assignIfNull fun <T> WritableValue<T>.assignIfNull(creator: () -> T): Unit

Assign the value from the creator to this WritableValue if and only if it is currently null

awaitUntil fun <T> ObservableValue<T>.awaitUntil(condition: (T) -> Boolean): Unit

Wait on the UI thread until a certain value is available on this observable.

booleanBinding fun <T> ObservableValue<T>.booleanBinding(vararg dependencies: Observable, op: (T?) -> Boolean): BooleanBinding
cleanBind fun <T> Property<T>.cleanBind(observable: ObservableValue<T>): Unit

Binds this property to an observable, automatically unbinding it before if already bound.

doubleBinding fun <T> ObservableValue<T>.doubleBinding(vararg dependencies: Observable, op: (T?) -> Double): DoubleBinding
floatBinding fun <T> ObservableValue<T>.floatBinding(vararg dependencies: Observable, op: (T?) -> Float): FloatBinding
getProperty fun <T> Any.getProperty(prop: KMutableProperty1<*, T>): ObjectProperty<T>
getValue operator fun <T> ObservableValue<T>.getValue(thisRef: Any, property: KProperty<*>): T
integerBinding fun <T> ObservableValue<T>.integerBinding(vararg dependencies: Observable, op: (T?) -> Int): IntegerBinding
longBinding fun <T> ObservableValue<T>.longBinding(vararg dependencies: Observable, op: (T?) -> Long): LongBinding
markDirty fun Property<*>.markDirty(): Unit?

Mark this ViewModel facade property as dirty in its owning ViewModel.

mutateOnChange fun <T> Property<T>.mutateOnChange(mutator: (T?) -> T?): <ERROR CLASS>

Listen to changes and update the value of the property if the given mutator results in a different value

objectBinding fun <T, R> ObservableValue<T>.objectBinding(vararg dependencies: Observable, op: (T?) -> R?): Binding<R?>
observable fun <T : Any> Any.observable(propName: String): ObjectProperty<T>
onChange fun <T> ObservableValue<T>.onChange(op: (T?) -> Unit): <ERROR CLASS>
onChangeOnce fun <T> ObservableValue<T>.onChangeOnce(op: (T?) -> Unit): Unit
onChangeTimes fun <T> ObservableValue<T>.onChangeTimes(times: Int, op: (T?) -> Unit): Unit

Listen for changes to this observable. Optionally only listen x times. The lambda receives the changed value when the change occurs, which may be null,

select fun <T, N> ObservableValue<T>.select(nested: (T) -> ObservableValue<N>): Property<N>
selectBoolean fun <T> ObservableValue<T>.selectBoolean(nested: (T) -> BooleanExpression): BooleanExpression
setValue operator fun <T> Property<T>.setValue(thisRef: Any, property: KProperty<*>, value: T?): Unit
stringBinding fun <T> ObservableValue<T>.stringBinding(vararg dependencies: Observable, op: (T?) -> String?): StringBinding

Inheritors

BindingAwareSimpleBooleanProperty class BindingAwareSimpleBooleanProperty : SimpleBooleanProperty, BindingAwareProperty<Boolean>
BindingAwareSimpleDoubleProperty class BindingAwareSimpleDoubleProperty : SimpleDoubleProperty, BindingAwareProperty<Number>
BindingAwareSimpleFloatProperty class BindingAwareSimpleFloatProperty : SimpleFloatProperty, BindingAwareProperty<Number>
BindingAwareSimpleIntegerProperty class BindingAwareSimpleIntegerProperty : SimpleIntegerProperty, BindingAwareProperty<Number>
BindingAwareSimpleLongProperty class BindingAwareSimpleLongProperty : SimpleLongProperty, BindingAwareProperty<Number>
BindingAwareSimpleObjectProperty class BindingAwareSimpleObjectProperty<T> : SimpleObjectProperty<T>, BindingAwareProperty<T>
BindingAwareSimpleStringProperty class BindingAwareSimpleStringProperty : SimpleStringProperty, BindingAwareProperty<String>