pub struct Dynamic<T>(/* private fields */);
Expand description
An instance of a value that provides APIs to observe and react to its contents.
Implementations§
source§impl<T> Dynamic<T>
impl<T> Dynamic<T>
sourcepub fn downgrade(&self) -> WeakDynamic<T>
pub fn downgrade(&self) -> WeakDynamic<T>
sourcepub fn readers(&self) -> usize
pub fn readers(&self) -> usize
Returns the number of DynamicReader
s for this value.
§Panics
This function panics if this value is already locked by the current thread.
sourcepub fn linked<R, TIntoR, TIntoRResult, RIntoT, RIntoTResult>(
&self,
t_into_r: TIntoR,
r_into_t: RIntoT,
) -> Dynamic<R>
pub fn linked<R, TIntoR, TIntoRResult, RIntoT, RIntoTResult>( &self, t_into_r: TIntoR, r_into_t: RIntoT, ) -> Dynamic<R>
Returns a new dynamic that has its contents linked with self
by the
pair of mapping functions provided.
When the returned dynamic is updated, r_into_t
will be invoked. This
function accepts &R
and can return T
, or Option<T>
. If a value is
produced, self
will be updated with the new value.
When self
is updated, t_into_r
will be invoked. This function
accepts &T
and can return R
or Option<R>
. If a value is produced,
the returned dynamic will be updated with the new value.
§Panics
This function panics if calling t_into_r
with the current contents of
the Dynamic produces a None
value. This requirement is only for the
first invocation, and it is guaranteed to occur before this function
returns.
sourcepub fn linked_string(&self) -> Dynamic<String>
pub fn linked_string(&self) -> Dynamic<String>
Creates a linked dynamic containing a String
.
When self
is updated, ToString::to_string()
will be called to
produce a new string value to store in the returned dynamic.
When the returned dynamic is updated, str::parse
is called
to produce a new T
. If an error is returned, self
will not be
updated. Otherwise, self
will be updated with the produced value.
sourcepub fn set_source(&self, source: CallbackHandle)
pub fn set_source(&self, source: CallbackHandle)
Sets the current source
for this dynamic with source
.
A dynamic can have multiple source callbacks.
This ensures that source
stays active as long as any clones of self
are alive.
sourcepub fn with_for_each<F>(self, for_each: F) -> Self
pub fn with_for_each<F>(self, for_each: F) -> Self
Attaches for_each
to this value so that it is invoked each time the
value’s contents are updated. This function returns self
.
sourcepub fn with_clone<R>(&self, with_clone: impl FnOnce(Self) -> R) -> R
pub fn with_clone<R>(&self, with_clone: impl FnOnce(Self) -> R) -> R
A helper function that invokes with_clone
with a clone of self. This
code may produce slightly more readable code.
use cushy::value::{Dynamic, Source};
let value = Dynamic::new(1);
// Using with_clone
value.with_clone(|value| {
std::thread::spawn(move || {
println!("{}", value.get());
})
});
// Using an explicit clone
std::thread::spawn({
let value = value.clone();
move || {
println!("{}", value.get());
}
});
println!("{}", value.get());
sourcepub fn create_reader(&self) -> DynamicReader<T>
pub fn create_reader(&self) -> DynamicReader<T>
Returns a new reference-based reader for this dynamic value.
§Panics
This function panics if this value is already locked by the current thread.
sourcepub fn into_reader(self) -> DynamicReader<T>
pub fn into_reader(self) -> DynamicReader<T>
sourcepub fn lock(&self) -> DynamicGuard<'_, T>
pub fn lock(&self) -> DynamicGuard<'_, T>
Returns an exclusive reference to the contents of this dynamic.
This call will block until all other guards for this dynamic have been dropped.
§Panics
This function panics if this value is already locked by the current thread.
sourcepub fn try_lock(&self) -> Result<DynamicGuard<'_, T>, DeadlockError>
pub fn try_lock(&self) -> Result<DynamicGuard<'_, T>, DeadlockError>
Returns an exclusive reference to the contents of this dynamic.
This call will block until all other guards for this dynamic have been dropped.
§Errors
Returns an error if the current thread already holds a lock to this dynamic.
sourcepub fn transition_to(&self, new_value: T) -> DynamicTransition<T>
pub fn transition_to(&self, new_value: T) -> DynamicTransition<T>
Returns a pending transition for this value to new_value
.
sourcepub fn new_radio(&self, widget_value: T) -> Radio<T>
pub fn new_radio(&self, widget_value: T) -> Radio<T>
Returns a new Radio
that updates this dynamic to widget_value
when
pressed.
sourcepub fn new_checkbox(&self) -> Checkboxwhere
Self: IntoDynamic<CheckboxState>,
pub fn new_checkbox(&self) -> Checkboxwhere
Self: IntoDynamic<CheckboxState>,
Returns a new checkbox that updates self
when clicked.
sourcepub fn new_select(&self, widget_value: T, label: impl MakeWidget) -> Select<T>
pub fn new_select(&self, widget_value: T, label: impl MakeWidget) -> Select<T>
Returns a new Select
that updates this dynamic to widget_value
when pressed. label
is drawn next to the checkbox and is also
clickable to select the widget.
sourcepub fn validate_with<E, Valid>(&self, check: Valid) -> Dynamic<Validation>
pub fn validate_with<E, Valid>(&self, check: Valid) -> Dynamic<Validation>
Validates the contents of this dynamic using the check
function,
returning a dynamic that contains the validation status.
source§impl Dynamic<WidgetInstance>
impl Dynamic<WidgetInstance>
sourcepub fn into_switcher(self) -> Switcher
pub fn into_switcher(self) -> Switcher
Returns a new Switcher
widget whose contents is the value of this
dynamic.
sourcepub fn to_switcher(&self) -> Switcher
pub fn to_switcher(&self) -> Switcher
Returns a new Switcher
widget whose contents is the value of this
dynamic.
source§impl Dynamic<WidgetList>
impl Dynamic<WidgetList>
sourcepub fn into_columns(self) -> Stack
pub fn into_columns(self) -> Stack
Returns self
as a horizontal Stack
of columns.
sourcepub fn to_columns(&self) -> Stack
pub fn to_columns(&self) -> Stack
Returns self
as a horizontal Stack
of columns.
sourcepub fn into_layers(self) -> Layers
pub fn into_layers(self) -> Layers
Returns self
as Layers
, with the widgets being stacked in the Z
direction.
sourcepub fn to_layers(&self) -> Layers
pub fn to_layers(&self) -> Layers
Returns self
as Layers
, with the widgets being stacked in the Z
direction.
Trait Implementations§
source§impl<'de, T> Deserialize<'de> for Dynamic<T>where
T: Deserialize<'de>,
impl<'de, T> Deserialize<'de> for Dynamic<T>where
T: Deserialize<'de>,
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
source§impl<T> Destination<T> for Dynamic<T>
impl<T> Destination<T> for Dynamic<T>
source§fn try_map_mut<R>(
&self,
map: impl FnOnce(Mutable<'_, T>) -> R,
) -> Result<R, DeadlockError>
fn try_map_mut<R>( &self, map: impl FnOnce(Mutable<'_, T>) -> R, ) -> Result<R, DeadlockError>
source§impl<T> Displayable<T> for Dynamic<T>
impl<T> Displayable<T> for Dynamic<T>
source§fn into_displayable(self) -> DynamicReader<T>
fn into_displayable(self) -> DynamicReader<T>
source§fn into_label(self) -> Label<T>
fn into_label(self) -> Label<T>
source§impl<T> DynamicRead<T> for Dynamic<T>
impl<T> DynamicRead<T> for Dynamic<T>
source§fn read(&self) -> DynamicGuard<'_, T, true>
fn read(&self) -> DynamicGuard<'_, T, true>
source§impl<'a, T> From<&'a Dynamic<T>> for WeakDynamic<T>
impl<'a, T> From<&'a Dynamic<T>> for WeakDynamic<T>
source§impl<T> From<Dynamic<T>> for DynamicReader<T>
impl<T> From<Dynamic<T>> for DynamicReader<T>
source§impl<T> From<Dynamic<T>> for WeakDynamic<T>
impl<T> From<Dynamic<T>> for WeakDynamic<T>
source§impl<T> IntoComponentValue for Dynamic<T>
impl<T> IntoComponentValue for Dynamic<T>
source§fn into_component_value(self) -> Value<Component>
fn into_component_value(self) -> Value<Component>
self
stored in a component value.source§impl IntoDynamic<CheckboxState> for Dynamic<Option<bool>>
impl IntoDynamic<CheckboxState> for Dynamic<Option<bool>>
source§fn into_dynamic(self) -> Dynamic<CheckboxState>
fn into_dynamic(self) -> Dynamic<CheckboxState>
self
as a dynamic.source§impl IntoDynamic<CheckboxState> for Dynamic<bool>
impl IntoDynamic<CheckboxState> for Dynamic<bool>
source§fn into_dynamic(self) -> Dynamic<CheckboxState>
fn into_dynamic(self) -> Dynamic<CheckboxState>
self
as a dynamic.source§impl<T> IntoDynamic<T> for Dynamic<T>
impl<T> IntoDynamic<T> for Dynamic<T>
source§fn into_dynamic(self) -> Dynamic<T>
fn into_dynamic(self) -> Dynamic<T>
self
as a dynamic.source§impl<T, E> IntoDynamic<Validation> for Dynamic<Result<T, E>>
impl<T, E> IntoDynamic<Validation> for Dynamic<Result<T, E>>
source§fn into_dynamic(self) -> Dynamic<Validation>
fn into_dynamic(self) -> Dynamic<Validation>
self
as a dynamic.source§impl<T> IntoDynamicComponentValue for Dynamic<T>
impl<T> IntoDynamicComponentValue for Dynamic<T>
source§fn into_dynamic_component(self) -> Value<DynamicComponent>
fn into_dynamic_component(self) -> Value<DynamicComponent>
source§impl<T> IntoReadOnly<T> for Dynamic<T>
impl<T> IntoReadOnly<T> for Dynamic<T>
source§fn into_read_only(self) -> ReadOnly<T>
fn into_read_only(self) -> ReadOnly<T>
self
as a ReadOnly
.source§impl<T> IntoReader<T> for Dynamic<T>
impl<T> IntoReader<T> for Dynamic<T>
source§fn into_reader(self) -> DynamicReader<T>
fn into_reader(self) -> DynamicReader<T>
source§impl IntoValue<ContainerShadow> for Dynamic<ContainerShadow<Lp>>
impl IntoValue<ContainerShadow> for Dynamic<ContainerShadow<Lp>>
source§fn into_value(self) -> Value<ContainerShadow>
fn into_value(self) -> Value<ContainerShadow>
Value
.source§impl IntoValue<ContainerShadow> for Dynamic<ContainerShadow<Px>>
impl IntoValue<ContainerShadow> for Dynamic<ContainerShadow<Px>>
source§fn into_value(self) -> Value<ContainerShadow>
fn into_value(self) -> Value<ContainerShadow>
Value
.source§impl IntoValue<FluentValue<'static>> for &Dynamic<&'static str>
impl IntoValue<FluentValue<'static>> for &Dynamic<&'static str>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for &Dynamic<String>
impl IntoValue<FluentValue<'static>> for &Dynamic<String>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for &Dynamic<f32>
impl IntoValue<FluentValue<'static>> for &Dynamic<f32>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for &Dynamic<f64>
impl IntoValue<FluentValue<'static>> for &Dynamic<f64>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for &Dynamic<i128>
impl IntoValue<FluentValue<'static>> for &Dynamic<i128>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for &Dynamic<i16>
impl IntoValue<FluentValue<'static>> for &Dynamic<i16>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for &Dynamic<i32>
impl IntoValue<FluentValue<'static>> for &Dynamic<i32>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for &Dynamic<i64>
impl IntoValue<FluentValue<'static>> for &Dynamic<i64>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for &Dynamic<i8>
impl IntoValue<FluentValue<'static>> for &Dynamic<i8>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for &Dynamic<isize>
impl IntoValue<FluentValue<'static>> for &Dynamic<isize>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for &Dynamic<u128>
impl IntoValue<FluentValue<'static>> for &Dynamic<u128>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for &Dynamic<u16>
impl IntoValue<FluentValue<'static>> for &Dynamic<u16>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for &Dynamic<u32>
impl IntoValue<FluentValue<'static>> for &Dynamic<u32>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for &Dynamic<u64>
impl IntoValue<FluentValue<'static>> for &Dynamic<u64>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for &Dynamic<u8>
impl IntoValue<FluentValue<'static>> for &Dynamic<u8>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for &Dynamic<usize>
impl IntoValue<FluentValue<'static>> for &Dynamic<usize>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for Dynamic<&'static str>
impl IntoValue<FluentValue<'static>> for Dynamic<&'static str>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for Dynamic<String>
impl IntoValue<FluentValue<'static>> for Dynamic<String>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for Dynamic<f32>
impl IntoValue<FluentValue<'static>> for Dynamic<f32>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for Dynamic<f64>
impl IntoValue<FluentValue<'static>> for Dynamic<f64>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for Dynamic<i128>
impl IntoValue<FluentValue<'static>> for Dynamic<i128>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for Dynamic<i16>
impl IntoValue<FluentValue<'static>> for Dynamic<i16>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for Dynamic<i32>
impl IntoValue<FluentValue<'static>> for Dynamic<i32>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for Dynamic<i64>
impl IntoValue<FluentValue<'static>> for Dynamic<i64>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for Dynamic<i8>
impl IntoValue<FluentValue<'static>> for Dynamic<i8>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for Dynamic<isize>
impl IntoValue<FluentValue<'static>> for Dynamic<isize>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for Dynamic<u128>
impl IntoValue<FluentValue<'static>> for Dynamic<u128>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for Dynamic<u16>
impl IntoValue<FluentValue<'static>> for Dynamic<u16>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for Dynamic<u32>
impl IntoValue<FluentValue<'static>> for Dynamic<u32>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for Dynamic<u64>
impl IntoValue<FluentValue<'static>> for Dynamic<u64>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for Dynamic<u8>
impl IntoValue<FluentValue<'static>> for Dynamic<u8>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<FluentValue<'static>> for Dynamic<usize>
impl IntoValue<FluentValue<'static>> for Dynamic<usize>
source§fn into_value(self) -> Value<FluentValue<'static>>
fn into_value(self) -> Value<FluentValue<'static>>
Value
.source§impl IntoValue<MaskedString> for Dynamic<&'static str>
impl IntoValue<MaskedString> for Dynamic<&'static str>
source§fn into_value(self) -> Value<MaskedString>
fn into_value(self) -> Value<MaskedString>
Value
.source§impl IntoValue<MaskedString> for Dynamic<String>
impl IntoValue<MaskedString> for Dynamic<String>
source§fn into_value(self) -> Value<MaskedString>
fn into_value(self) -> Value<MaskedString>
Value
.source§impl<T> IntoValue<T> for &Dynamic<T>
impl<T> IntoValue<T> for &Dynamic<T>
source§fn into_value(self) -> Value<T>
fn into_value(self) -> Value<T>
Value
.source§impl<T> IntoValue<T> for Dynamic<T>
impl<T> IntoValue<T> for Dynamic<T>
source§fn into_value(self) -> Value<T>
fn into_value(self) -> Value<T>
Value
.source§impl IntoWidgetList for Dynamic<WidgetList>
impl IntoWidgetList for Dynamic<WidgetList>
source§fn into_widget_list(self) -> Value<WidgetList>
fn into_widget_list(self) -> Value<WidgetList>
Value<WidgetList>
.source§fn into_columns(self) -> Stack
fn into_columns(self) -> Stack
self
as a horizontal Stack
of columns.source§fn into_layers(self) -> Layers
fn into_layers(self) -> Layers
self
as Layers
, with the widgets being stacked in the Z
direction.source§impl MakeWidgetWithTag for Dynamic<&'static str>
impl MakeWidgetWithTag for Dynamic<&'static str>
source§fn make_with_tag(self, id: WidgetTag) -> WidgetInstance
fn make_with_tag(self, id: WidgetTag) -> WidgetInstance
source§impl MakeWidgetWithTag for Dynamic<Option<WidgetInstance>>
impl MakeWidgetWithTag for Dynamic<Option<WidgetInstance>>
source§fn make_with_tag(self, id: WidgetTag) -> WidgetInstance
fn make_with_tag(self, id: WidgetTag) -> WidgetInstance
source§impl MakeWidgetWithTag for Dynamic<String>
impl MakeWidgetWithTag for Dynamic<String>
source§fn make_with_tag(self, id: WidgetTag) -> WidgetInstance
fn make_with_tag(self, id: WidgetTag) -> WidgetInstance
source§impl MakeWidgetWithTag for Dynamic<WidgetInstance>
impl MakeWidgetWithTag for Dynamic<WidgetInstance>
source§fn make_with_tag(self, id: WidgetTag) -> WidgetInstance
fn make_with_tag(self, id: WidgetTag) -> WidgetInstance
source§impl<T> PartialEq<Dynamic<T>> for WeakDynamic<T>
impl<T> PartialEq<Dynamic<T>> for WeakDynamic<T>
source§impl<T> PartialEq<WeakDynamic<T>> for Dynamic<T>
impl<T> PartialEq<WeakDynamic<T>> for Dynamic<T>
source§impl<T> Source<T> for Dynamic<T>
impl<T> Source<T> for Dynamic<T>
source§fn try_map_generational<R>(
&self,
map: impl FnOnce(DynamicGuard<'_, T, true>) -> R,
) -> Result<R, DeadlockError>
fn try_map_generational<R>( &self, map: impl FnOnce(DynamicGuard<'_, T, true>) -> R, ) -> Result<R, DeadlockError>
Generation
.source§fn for_each_subsequent_generational_try<F>(&self, for_each: F) -> CallbackHandlewhere
T: Send + 'static,
F: for<'a> FnMut(DynamicGuard<'_, T, true>) -> Result<(), CallbackDisconnected> + Send + 'static,
fn for_each_subsequent_generational_try<F>(&self, for_each: F) -> CallbackHandlewhere
T: Send + 'static,
F: for<'a> FnMut(DynamicGuard<'_, T, true>) -> Result<(), CallbackDisconnected> + Send + 'static,
for_each
to this value so that it is invoked each time the
source’s contents are updated. Read moresource§fn for_each_generational_cloned_try<F>(&self, for_each: F) -> CallbackHandlewhere
T: Clone + Send + 'static,
F: FnMut(GenerationalValue<T>) -> Result<(), CallbackDisconnected> + Send + 'static,
fn for_each_generational_cloned_try<F>(&self, for_each: F) -> CallbackHandlewhere
T: Clone + Send + 'static,
F: FnMut(GenerationalValue<T>) -> Result<(), CallbackDisconnected> + Send + 'static,
for_each
with the current contents and each time this source’s
contents are updated. Read moresource§fn map_generational<R>(
&self,
map: impl FnOnce(DynamicGuard<'_, T, true>) -> R,
) -> R
fn map_generational<R>( &self, map: impl FnOnce(DynamicGuard<'_, T, true>) -> R, ) -> R
Generation
. Read moresource§fn generation(&self) -> Generation
fn generation(&self) -> Generation
source§fn map_ref<R>(&self, map: impl FnOnce(&T) -> R) -> R
fn map_ref<R>(&self, map: impl FnOnce(&T) -> R) -> R
source§fn try_map_ref<R>(&self, map: impl FnOnce(&T) -> R) -> Result<R, DeadlockError>
fn try_map_ref<R>(&self, map: impl FnOnce(&T) -> R) -> Result<R, DeadlockError>
impl<T> Eq for Dynamic<T>
impl<T> TrackedSource for Dynamic<T>
Auto Trait Implementations§
impl<T> Freeze for Dynamic<T>
impl<T> !RefUnwindSafe for Dynamic<T>
impl<T> Send for Dynamic<T>where
T: Send,
impl<T> Sync for Dynamic<T>where
T: Send,
impl<T> Unpin for Dynamic<T>
impl<T> !UnwindSafe for Dynamic<T>
Blanket Implementations§
source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
§impl<T> AnyEq for T
impl<T> AnyEq for T
source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters
when converting.source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self
into C
, using the provided parameters.§impl<A> Cast for A
impl<A> Cast for A
source§impl<T> Checkable for Twhere
T: IntoDynamic<CheckboxState>,
impl<T> Checkable for Twhere
T: IntoDynamic<CheckboxState>,
source§fn into_checkbox(self) -> Checkbox
fn into_checkbox(self) -> Checkbox
self
as the value.source§fn to_checkbox(&self) -> Checkboxwhere
Self: Clone,
fn to_checkbox(&self) -> Checkboxwhere
Self: Clone,
self
as the value.source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle
.source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other
into Self
, while performing the appropriate scaling,
rounding and clamping.source§impl<T> InputValue<Cow<'static, str>> for T
impl<T> InputValue<Cow<'static, str>> for T
source§impl<T> InputValue<CowString> for Twhere
T: IntoDynamic<CowString>,
impl<T> InputValue<CowString> for Twhere
T: IntoDynamic<CowString>,
source§impl<T> InputValue<MaskedString> for Twhere
T: IntoDynamic<MaskedString>,
impl<T> InputValue<MaskedString> for Twhere
T: IntoDynamic<MaskedString>,
source§impl<T> InputValue<String> for Twhere
T: IntoDynamic<String>,
impl<T> InputValue<String> for Twhere
T: IntoDynamic<String>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
source§fn into_angle(self) -> U
fn into_angle(self) -> U
T
.source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters
when converting.source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self
into C
, using the provided parameters.source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
source§fn into_color(self) -> U
fn into_color(self) -> U
source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> IntoReadOnly<T> for T
impl<T> IntoReadOnly<T> for T
source§fn into_read_only(self) -> ReadOnly<T>
fn into_read_only(self) -> ReadOnly<T>
self
as a ReadOnly
.source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self
into T
, while performing the appropriate scaling,
rounding and clamping.source§impl<T> IntoStoredComponent for Twhere
T: IntoComponentValue,
impl<T> IntoStoredComponent for Twhere
T: IntoComponentValue,
source§fn into_stored_component(self) -> StoredComponent
fn into_stored_component(self) -> StoredComponent
source§impl<T> IntoValue<T> for T
impl<T> IntoValue<T> for T
source§fn into_value(self) -> Value<T>
fn into_value(self) -> Value<T>
Value
.source§impl<T> MakeWidget for Twhere
T: MakeWidgetWithTag,
impl<T> MakeWidget for Twhere
T: MakeWidgetWithTag,
source§fn make_widget(self) -> WidgetInstance
fn make_widget(self) -> WidgetInstance
source§fn into_window(self) -> Window
fn into_window(self) -> Window
self
as the root widget.source§fn build_standalone_window(self) -> StandaloneWindowBuilder
fn build_standalone_window(self) -> StandaloneWindowBuilder
source§fn build_recorder(self) -> VirtualRecorderBuilder<Rgb8>
fn build_recorder(self) -> VirtualRecorderBuilder<Rgb8>
VirtualRecorder
source§fn with_styles(self, styles: impl IntoValue<Styles>) -> Stylewhere
Self: Sized,
fn with_styles(self, styles: impl IntoValue<Styles>) -> Stylewhere
Self: Sized,
styles
with this widget. Read moresource§fn with<C: ComponentDefinition>(
self,
name: &C,
component: impl IntoValue<C::ComponentType>,
) -> Style
fn with<C: ComponentDefinition>( self, name: &C, component: impl IntoValue<C::ComponentType>, ) -> Style
self
.source§fn with_local<C: ComponentDefinition>(
self,
name: &C,
component: impl IntoValue<C::ComponentType>,
) -> Style
fn with_local<C: ComponentDefinition>( self, name: &C, component: impl IntoValue<C::ComponentType>, ) -> Style
self
, ensuring that no child widgets
inherit this component.source§fn with_dynamic<C: ComponentDefinition>(
self,
name: &C,
dynamic: impl IntoDynamicComponentValue,
) -> Stylewhere
C::ComponentType: IntoComponentValue,
fn with_dynamic<C: ComponentDefinition>(
self,
name: &C,
dynamic: impl IntoDynamicComponentValue,
) -> Stylewhere
C::ComponentType: IntoComponentValue,
self
, resolving its value using
dynamic
at runtime.source§fn with_local_dynamic<C: ComponentDefinition>(
self,
name: &C,
dynamic: impl IntoDynamicComponentValue,
) -> Stylewhere
C::ComponentType: IntoComponentValue,
fn with_local_dynamic<C: ComponentDefinition>(
self,
name: &C,
dynamic: impl IntoDynamicComponentValue,
) -> Stylewhere
C::ComponentType: IntoComponentValue,
self
, resolving its value using
dynamic
at runtime. This component will not be inherited to child
widgets.source§fn with_shortcut<F>(
self,
key: impl Into<ShortcutKey>,
modifiers: ModifiersState,
callback: F,
) -> Shortcuts
fn with_shortcut<F>( self, key: impl Into<ShortcutKey>, modifiers: ModifiersState, callback: F, ) -> Shortcuts
source§fn with_repeating_shortcut<F>(
self,
key: impl Into<ShortcutKey>,
modifiers: ModifiersState,
callback: F,
) -> Shortcuts
fn with_repeating_shortcut<F>( self, key: impl Into<ShortcutKey>, modifiers: ModifiersState, callback: F, ) -> Shortcuts
callback
when key
is pressed while modifiers
are pressed.
If the shortcut is held, the callback will be invoked on repeat events. Read moresource§fn xxxx_large(self) -> Style
fn xxxx_large(self) -> Style
self
with the largest text size.source§fn default_size(self) -> Style
fn default_size(self) -> Style
self
with the third smallest text size.source§fn with_hint(self, hint: impl MakeWidget) -> Stack
fn with_hint(self, hint: impl MakeWidget) -> Stack
source§fn with_next_focus(
self,
next_focus: impl IntoValue<Option<WidgetId>>,
) -> WidgetInstance
fn with_next_focus( self, next_focus: impl IntoValue<Option<WidgetId>>, ) -> WidgetInstance
source§fn with_enabled(self, enabled: impl IntoValue<bool>) -> WidgetInstance
fn with_enabled(self, enabled: impl IntoValue<bool>) -> WidgetInstance
enabled
and returns
self. Read moresource§fn into_default(self) -> WidgetInstance
fn into_default(self) -> WidgetInstance
source§fn into_escape(self) -> WidgetInstance
fn into_escape(self) -> WidgetInstance
source§fn and(self, other: impl MakeWidget) -> WidgetList
fn and(self, other: impl MakeWidget) -> WidgetList
self
and other
.source§fn chain<W: MakeWidget>(self, others: impl IntoIterator<Item = W>) -> WidgetList
fn chain<W: MakeWidget>(self, others: impl IntoIterator<Item = W>) -> WidgetList
source§fn expand_weighted(self, weight: u8) -> Expand
fn expand_weighted(self, weight: u8) -> Expand
self
to grow to fill its parent proportionally with other
weighted siblings.source§fn expand_horizontally(self) -> Expand
fn expand_horizontally(self) -> Expand
self
to grow to fill its parent horizontally.source§fn expand_vertically(self) -> Expand
fn expand_vertically(self) -> Expand
self
to grow to fill its parent vertically.source§fn into_checkbox(self, value: impl IntoDynamic<CheckboxState>) -> Checkbox
fn into_checkbox(self, value: impl IntoDynamic<CheckboxState>) -> Checkbox
source§fn to_checkbox(&self, value: impl IntoDynamic<CheckboxState>) -> Checkboxwhere
Self: Clone,
fn to_checkbox(&self, value: impl IntoDynamic<CheckboxState>) -> Checkboxwhere
Self: Clone,
source§fn align_left(self) -> Align
fn align_left(self) -> Align
self
to the left.source§fn align_right(self) -> Align
fn align_right(self) -> Align
self
to the right.source§fn align_bottom(self) -> Align
fn align_bottom(self) -> Align
self
to the bottom.source§fn fit_horizontally(self) -> Align
fn fit_horizontally(self) -> Align
self
horizontally within its parent.source§fn fit_vertically(self) -> Align
fn fit_vertically(self) -> Align
self
vertically within its parent.source§fn vertical_scroll(self) -> Scroll
fn vertical_scroll(self) -> Scroll
self
vertically.source§fn horizontal_scroll(self) -> Scroll
fn horizontal_scroll(self) -> Scroll
self
horizontally.source§fn contain_level(self, level: impl IntoValue<ContainerLevel>) -> Container
fn contain_level(self, level: impl IntoValue<ContainerLevel>) -> Container
self
in a Container
with the specified level.source§fn background_color(self, color: impl IntoValue<Color>) -> Container
fn background_color(self, color: impl IntoValue<Color>) -> Container
color
behind self
.source§fn pad_by(self, padding: impl IntoValue<Edges<Dimension>>) -> Container
fn pad_by(self, padding: impl IntoValue<Edges<Dimension>>) -> Container
self
with the specified padding.source§fn themed(self, theme: impl IntoValue<ThemePair>) -> Themed
fn themed(self, theme: impl IntoValue<ThemePair>) -> Themed
theme
to self
and its children.source§fn localized_in(self, locale: impl IntoValue<LanguageIdentifier>) -> Localized
fn localized_in(self, locale: impl IntoValue<LanguageIdentifier>) -> Localized
theme
to self
and its children.source§fn themed_mode(self, mode: impl IntoValue<ThemeMode>) -> ThemedMode
fn themed_mode(self, mode: impl IntoValue<ThemeMode>) -> ThemedMode
mode
to self
and its children.source§fn collapse_horizontally(
self,
collapse_when: impl IntoDynamic<bool>,
) -> Collapse
fn collapse_horizontally( self, collapse_when: impl IntoDynamic<bool>, ) -> Collapse
self
horizontally based on the dynamic boolean value. Read moresource§fn collapse_vertically(self, collapse_when: impl IntoDynamic<bool>) -> Collapse
fn collapse_vertically(self, collapse_when: impl IntoDynamic<bool>) -> Collapse
self
vertically based on the dynamic
boolean value. Read moresource§fn validation(self, validation: impl IntoDynamic<Validation>) -> Validated
fn validation(self, validation: impl IntoDynamic<Validation>) -> Validated
source§fn tooltip(self, layer: &OverlayLayer, tip: impl MakeWidget) -> Tooltipped
fn tooltip(self, layer: &OverlayLayer, tip: impl MakeWidget) -> Tooltipped
tip
on layer
when self
is hovered.source§impl<T> MakeWindow for Twhere
T: MakeWidget,
impl<T> MakeWindow for Twhere
T: MakeWidget,
source§type Behavior = WidgetInstance
type Behavior = WidgetInstance
source§fn make_window(self) -> Window<<T as MakeWindow>::Behavior>
fn make_window(self) -> Window<<T as MakeWindow>::Behavior>
self
.source§fn open_centered<App>(self, app: &mut App) -> Result<WindowHandle>
fn open_centered<App>(self, app: &mut App) -> Result<WindowHandle>
self
in the center of the monitor the window initially appears
on.source§fn run_centered(self) -> Resultwhere
Self: Sized,
fn run_centered(self) -> Resultwhere
Self: Sized,
self
in the center of the monitor the window
initially appears on.source§fn run_centered_in(self, app: PendingApp) -> Resultwhere
Self: Sized,
fn run_centered_in(self, app: PendingApp) -> Resultwhere
Self: Sized,
app
after opening self
in the center of the monitor the window
initially appears on.§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
source§impl<T> Open for Twhere
T: MakeWindow,
impl<T> Open for Twhere
T: MakeWindow,
source§fn open<App>(self, app: &mut App) -> Result<WindowHandle, EventLoopError>where
App: Application + ?Sized,
fn open<App>(self, app: &mut App) -> Result<WindowHandle, EventLoopError>where
App: Application + ?Sized,
app
.§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T, U> Progressable<U> for T
impl<T, U> Progressable<U> for T
source§fn progress_bar(self) -> ProgressBar
fn progress_bar(self) -> ProgressBar
T::MIN
to
T::MAX
.source§fn progress_bar_to(self, max: impl IntoReadOnly<T::Value>) -> ProgressBar
fn progress_bar_to(self, max: impl IntoReadOnly<T::Value>) -> ProgressBar
T::MIN
to
max
. The maximum value can be either a T
or an Option<T>
. If
None
is the maximum value, an indeterminant progress bar will be
displayed.source§fn progress_bar_between<Range>(self, range: Range) -> ProgressBar
fn progress_bar_between<Range>(self, range: Range) -> ProgressBar
range
of T
. The range can be either a T..=T
or an Option<T>
. If
None
is specified as the range, an indeterminant progress bar will be
displayed.source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian()
.source§impl<T> Run for Twhere
T: MakeWidget,
impl<T> Run for Twhere
T: MakeWidget,
source§impl<U, T> Slidable<U> for Twhere
T: IntoDynamic<U>,
U: SliderValue,
impl<U, T> Slidable<U> for Twhere
T: IntoDynamic<U>,
U: SliderValue,
source§impl<T, W> Switchable<T> for Wwhere
W: IntoDynamic<T>,
impl<T, W> Switchable<T> for Wwhere
W: IntoDynamic<T>,
source§impl<T> Trackable for Twhere
T: Trackable,
impl<T> Trackable for Twhere
T: Trackable,
source§fn redraw_when_changed(&self, context: &WidgetContext<'_>)where
Self: Sized,
fn redraw_when_changed(&self, context: &WidgetContext<'_>)where
Self: Sized,
source§fn invalidate_when_changed(&self, context: &WidgetContext<'_>)where
Self: Sized,
fn invalidate_when_changed(&self, context: &WidgetContext<'_>)where
Self: Sized,
source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors
fails to cast.source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds
error is returned which contains
the unclamped color. Read more