tornadofx / tornadofx / BindingAwareSimpleMapProperty


class BindingAwareSimpleMapProperty<S, T> : SimpleMapProperty<S, T>


<init> BindingAwareSimpleMapProperty(viewModel: ViewModel, name: String?)


bind fun bind(newObservable: ObservableValue<out ObservableMap<S, T>>?): Unit
bindContentBidirectional fun bindContentBidirectional(list: ObservableMap<S, T>?): Unit
equals fun equals(other: Any?): Boolean
hashCode fun hashCode(): Int

Return a unique id for this object instead of the default hashCode which is dependent on the children. Without this override we wouldnt be able to identify the facade in our internal maps.

recordBinding fun recordBinding(observableValue: Observable?): 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
queryString val Map<*, *>.queryString: String
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
asObservable fun <K, V> Map<K, V>.asObservable(): ObservableMap<K, V>

Returns a new ObservableMap that is backed by the original map.

asUnmodifiable fun <K, V> ObservableMap<K, V>.asUnmodifiable(): ObservableMap<K, V>

Returns an unmodifiable ObservableMap that wraps the original map.

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.

countValues fun <K> Map<K, Collection<*>>.countValues(key: K): Int
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
mapEach fun <K, V, R> Map<K, V>.mapEach(action: Entry<K, V>.() -> R): <ERROR CLASS>

map with Map.Entree as receiver.

mapEachTo fun <K, V, R, C : MutableCollection<in R>> Map<K, V>.mapEachTo(destination: C, action: Entry<K, V>.() -> R): <ERROR CLASS>

mapTo with Map.Entree as receiver.

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>
observable fun <K, V> Map<K, V>.observable(): ObservableMap<K, V>
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
toObservable fun <K, V> Map<K, V>.toObservable(): ObservableMap<K, V>

Returns a new ObservableMap with the elements from the original map.

toProperty fun <S, V, X : V> MutableMap<S, V>.toProperty(key: S, propertyGenerator: (X?) -> Property<X>): Property<X>

Convert the given key in this map to a Property using the given propertyGenerator function.

withEach fun <K, V> Map<K, V>.withEach(action: Entry<K, V>.() -> Unit): <ERROR CLASS>

forEach with Map.Entree as receiver.