//readium-navigator/org.readium.r2.navigator.preferences/RangePreference
RangePreference¶
[androidJvm]\ interface RangePreference<T : Comparable<T>> : Preference<T>
A Preference whose values must be in a ClosedRange of T.
Functions¶
Name | Summary |
---|---|
decrement | [androidJvm] abstract fun decrement() Decrement the preference value from its current value or a default value. |
formatValue | [androidJvm] abstract fun formatValue(value: T): String Format value in a way suitable for display, including unit if relevant. |
increment | [androidJvm] abstract fun increment() Increment the preference value from its current value or a default value. |
set | [androidJvm] abstract fun set(value: T?) Set the preference to value. A null value means unsetting the preference. |
Properties¶
Name | Summary |
---|---|
effectiveValue | [androidJvm] abstract val effectiveValue: T The value that will be effectively used by the navigator if preferences are submitted as they are. |
isEffective | [androidJvm] abstract val isEffective: Boolean If this preference will be effectively used by the navigator if preferences are submitted as they are. |
supportedRange | [androidJvm] abstract val supportedRange: ClosedRange<T> |
value | [androidJvm] abstract val value: T? The current value of the preference. |
Inheritors¶
Name |
---|
RangePreferenceDelegate |
Extensions¶
Name | Summary |
---|---|
clear | [androidJvm] fun <T> Preference<T>.clear() Unset the preference. |
flipped | [androidJvm] fun Preference<Boolean>.flipped(): Preference<Boolean> Returns a new preference with its boolean value flipped. |
map | [androidJvm] fun <T : Comparable<T>, V : Comparable<V>> RangePreference<T>.map(from: (T) -> V, to: (V) -> T, supportedRange: (ClosedRange<T>) -> ClosedRange<V> = { from(it.start)..from(it.endInclusive) }, formatValue: (V) -> String? = null, increment: RangePreference<V>.() -> Unit? = null, decrement: RangePreference<V>.() -> Unit? = null): RangePreference<V> Creates a new RangePreference object wrapping the receiver and converting its value and supportedRange, from and to the target type V. [androidJvm] fun <T : Comparable<T>> RangePreference<T>.map(supportedRange: (ClosedRange<T>) -> ClosedRange<T> = { it }, formatValue: (T) -> String? = null, increment: RangePreference<T>.() -> Unit? = null, decrement: RangePreference<T>.() -> Unit? = null): RangePreference<T> Creates a new RangePreference object wrapping the receiver and transforming its supportedRange, or overwriting its formatValue or increment and decrement strategy. [androidJvm] fun <T, V> Preference<T>.map(from: (T) -> V, to: (V) -> T): Preference<V> Creates a new Preference object wrapping the receiver and converting its value from and to the target type V. |
toggle | [androidJvm] fun Preference<Boolean>.toggle() Toggle the preference value. A default value is taken as the initial one if the preference is currently unset. |
withSupportedRange | [androidJvm] fun <T : Comparable<T>> RangePreference<T>.withSupportedRange(range: ClosedRange<T> = supportedRange, progressionStrategy: ProgressionStrategy<T>): RangePreference<T> Creates a new RangePreference object wrapping the receiver and using a different supported range. A new progressionStrategy can be provided to customize the implementation of increment and decrement. |
withSupportedValues | [androidJvm] fun <T> Preference<T>.withSupportedValues(vararg supportedValues: T): EnumPreference<T> fun <T> Preference<T>.withSupportedValues(supportedValues: List<T>): EnumPreference<T> Creates a new EnumPreference object wrapping the receiver with the provided supportedValues. |