Struct zng::var::ContextualizedVar
source · pub struct ContextualizedVar<T> { /* private fields */ }
Expand description
Represents a variable that delays initialization until the first usage.
Usage that initializes the variable are all AnyVar
and Var<T>
methods except read_only
, downgrade
and boxed
.
The variable re-initializes when the ContextInitHandle::current
is different on usage.
This variable is used in the Var::map
and other mapping methods to support mapping from ContextVar<T>
.
let wgt = MyWgt! {
my_property = MY_CTX_VAR.map(|&b| !b);
};
In the example above the mapping var will bind with the MY_CTX_VAR
context inside the property node, not
the context at the moment the widget is instantiated.
§Clone
Note that a clone of this variable may call the init closure again for the same context, the inited actual var is only reused if it is already inited when clone is called and clone is called on the same context.
Implementations§
source§impl<T> ContextualizedVar<T>where
T: VarValue,
impl<T> ContextualizedVar<T>where
T: VarValue,
sourcepub fn new<V>(
init: impl Fn() -> V + Send + Sync + 'static,
) -> ContextualizedVar<T>where
V: Var<T>,
pub fn new<V>(
init: impl Fn() -> V + Send + Sync + 'static,
) -> ContextualizedVar<T>where
V: Var<T>,
New with initialization function.
The init
closure will be called on the first usage of the var, once after the var is cloned and any time
a parent contextualized var is initializing.
sourcepub fn new_value(
init: impl Fn() -> T + Send + Sync + 'static,
) -> ContextualizedVar<T>
pub fn new_value( init: impl Fn() -> T + Send + Sync + 'static, ) -> ContextualizedVar<T>
New with initialization function that produces a value.
The init
closure will be called on the first usage of the var, once after the var is cloned and any time
a parent contextualized var is initializing.
sourcepub fn borrow_init(
&self,
) -> MappedRwLockReadGuard<'_, RawRwLock, Box<dyn VarBoxed<T>>>
pub fn borrow_init( &self, ) -> MappedRwLockReadGuard<'_, RawRwLock, Box<dyn VarBoxed<T>>>
Borrow/initialize the actual var.
Trait Implementations§
source§impl<T> AnyVar for ContextualizedVar<T>where
T: VarValue,
impl<T> AnyVar for ContextualizedVar<T>where
T: VarValue,
source§fn as_unboxed_any(&self) -> &(dyn Any + 'static)
fn as_unboxed_any(&self) -> &(dyn Any + 'static)
dyn Any
methods, on the underlying variable type if boxed.source§fn double_boxed_any(self: Box<ContextualizedVar<T>>) -> Box<dyn Any>
fn double_boxed_any(self: Box<ContextualizedVar<T>>) -> Box<dyn Any>
source§fn var_type_id(&self) -> TypeId
fn var_type_id(&self) -> TypeId
source§fn get_any(&self) -> Box<dyn AnyVarValue>
fn get_any(&self) -> Box<dyn AnyVarValue>
source§fn with_any(&self, read: &mut dyn FnMut(&(dyn AnyVarValue + 'static)))
fn with_any(&self, read: &mut dyn FnMut(&(dyn AnyVarValue + 'static)))
source§fn with_new_any(
&self,
read: &mut dyn FnMut(&(dyn AnyVarValue + 'static)),
) -> bool
fn with_new_any( &self, read: &mut dyn FnMut(&(dyn AnyVarValue + 'static)), ) -> bool
is_new
.source§fn set_any(&self, value: Box<dyn AnyVarValue>) -> Result<(), VarIsReadOnlyError>
fn set_any(&self, value: Box<dyn AnyVarValue>) -> Result<(), VarIsReadOnlyError>
value
for the variable, it will be set in the end of the current app update. Read moresource§fn last_update(&self) -> VarUpdateId
fn last_update(&self) -> VarUpdateId
VARS.update_id
the variable is new.source§fn is_contextual(&self) -> bool
fn is_contextual(&self) -> bool
source§fn capabilities(&self) -> VarCapability
fn capabilities(&self) -> VarCapability
source§fn hook_any(
&self,
pos_modify_action: Box<dyn Fn(&AnyVarHookArgs<'_>) -> bool + Sync + Send>,
) -> VarHandle
fn hook_any( &self, pos_modify_action: Box<dyn Fn(&AnyVarHookArgs<'_>) -> bool + Sync + Send>, ) -> VarHandle
modify
closure. The closure can return if it is retained after each call. If you modify another variable in a
hook the modification applies in the same update, variable mapping and binding is implemented using hooks. Read moresource§fn hook_animation_stop(
&self,
handler: Box<dyn FnOnce() + Send>,
) -> Result<(), Box<dyn FnOnce() + Send>>
fn hook_animation_stop( &self, handler: Box<dyn FnOnce() + Send>, ) -> Result<(), Box<dyn FnOnce() + Send>>
handler
to be called when the current animation stops. Read moresource§fn strong_count(&self) -> usize
fn strong_count(&self) -> usize
source§fn weak_count(&self) -> usize
fn weak_count(&self) -> usize
source§fn actual_var_any(&self) -> Box<dyn AnyVar>
fn actual_var_any(&self) -> Box<dyn AnyVar>
ContextVar<T>
, gets a clone of self
for other var types.source§fn downgrade_any(&self) -> Box<dyn AnyWeakVar>
fn downgrade_any(&self) -> Box<dyn AnyWeakVar>
source§fn is_animating(&self) -> bool
fn is_animating(&self) -> bool
source§fn modify_importance(&self) -> usize
fn modify_importance(&self) -> usize
source§fn var_ptr(&self) -> VarPtr<'_>
fn var_ptr(&self) -> VarPtr<'_>
source§fn update(&self) -> Result<(), VarIsReadOnlyError>
fn update(&self) -> Result<(), VarIsReadOnlyError>
source§impl<T> Clone for ContextualizedVar<T>where
T: VarValue,
impl<T> Clone for ContextualizedVar<T>where
T: VarValue,
source§fn clone(&self) -> ContextualizedVar<T>
fn clone(&self) -> ContextualizedVar<T>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<T> IntoVar<T> for ContextualizedVar<T>where
T: VarValue,
impl<T> IntoVar<T> for ContextualizedVar<T>where
T: VarValue,
source§type Var = ContextualizedVar<T>
type Var = ContextualizedVar<T>
T
value. Read moresource§fn into_var(self) -> <ContextualizedVar<T> as IntoVar<T>>::Var
fn into_var(self) -> <ContextualizedVar<T> as IntoVar<T>>::Var
source§fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
BoxedVar<T>
. Read moresource§impl<T> Var<T> for ContextualizedVar<T>where
T: VarValue,
impl<T> Var<T> for ContextualizedVar<T>where
T: VarValue,
source§type ReadOnly = ReadOnlyVar<T, ContextualizedVar<T>>
type ReadOnly = ReadOnlyVar<T, ContextualizedVar<T>>
Var::read_only
.source§type ActualVar = Box<dyn VarBoxed<T>>
type ActualVar = Box<dyn VarBoxed<T>>
Var::actual_var
.source§type Downgrade = WeakContextualizedVar<T>
type Downgrade = WeakContextualizedVar<T>
Var::downgrade
.source§type MapBidi<O: VarValue> = ContextualizedVar<O>
type MapBidi<O: VarValue> = ContextualizedVar<O>
Var::map_bidi
.source§type FlatMap<O: VarValue, V: Var<O>> = ContextualizedVar<O>
type FlatMap<O: VarValue, V: Var<O>> = ContextualizedVar<O>
Var::flat_map
.source§type FilterMap<O: VarValue> = ContextualizedVar<O>
type FilterMap<O: VarValue> = ContextualizedVar<O>
Var::filter_map
.source§type FilterMapBidi<O: VarValue> = ContextualizedVar<O>
type FilterMapBidi<O: VarValue> = ContextualizedVar<O>
Var::filter_map_bidi
.source§type MapRef<O: VarValue> = MapRef<T, O, ContextualizedVar<T>>
type MapRef<O: VarValue> = MapRef<T, O, ContextualizedVar<T>>
Var::map_ref
.source§type MapRefBidi<O: VarValue> = MapRefBidi<T, O, ContextualizedVar<T>>
type MapRefBidi<O: VarValue> = MapRefBidi<T, O, ContextualizedVar<T>>
Var::map_ref_bidi
.source§type Easing = ContextualizedVar<T>
type Easing = ContextualizedVar<T>
Var::easing
.source§fn modify<F>(&self, modify: F) -> Result<(), VarIsReadOnlyError>
fn modify<F>(&self, modify: F) -> Result<(), VarIsReadOnlyError>
source§fn actual_var(self) -> <ContextualizedVar<T> as Var<T>>::ActualVar
fn actual_var(self) -> <ContextualizedVar<T> as Var<T>>::ActualVar
source§fn downgrade(&self) -> <ContextualizedVar<T> as Var<T>>::Downgrade
fn downgrade(&self) -> <ContextualizedVar<T> as Var<T>>::Downgrade
source§fn into_value(self) -> T
fn into_value(self) -> T
source§fn read_only(&self) -> <ContextualizedVar<T> as Var<T>>::ReadOnly
fn read_only(&self) -> <ContextualizedVar<T> as Var<T>>::ReadOnly
source§fn map<O, M>(&self, map: M) -> <ContextualizedVar<T> as Var<T>>::Map<O>
fn map<O, M>(&self, map: M) -> <ContextualizedVar<T> as Var<T>>::Map<O>
source§fn map_bidi<O, M, B>(
&self,
map: M,
map_back: B,
) -> <ContextualizedVar<T> as Var<T>>::MapBidi<O>
fn map_bidi<O, M, B>( &self, map: M, map_back: B, ) -> <ContextualizedVar<T> as Var<T>>::MapBidi<O>
source§fn flat_map<O, V, M>(
&self,
map: M,
) -> <ContextualizedVar<T> as Var<T>>::FlatMap<O, V>
fn flat_map<O, V, M>( &self, map: M, ) -> <ContextualizedVar<T> as Var<T>>::FlatMap<O, V>
source§fn filter_map<O, M, I>(
&self,
map: M,
fallback: I,
) -> <ContextualizedVar<T> as Var<T>>::FilterMap<O>
fn filter_map<O, M, I>( &self, map: M, fallback: I, ) -> <ContextualizedVar<T> as Var<T>>::FilterMap<O>
source§fn filter_map_bidi<O, M, B, I>(
&self,
map: M,
map_back: B,
fallback: I,
) -> <ContextualizedVar<T> as Var<T>>::FilterMapBidi<O>
fn filter_map_bidi<O, M, B, I>( &self, map: M, map_back: B, fallback: I, ) -> <ContextualizedVar<T> as Var<T>>::FilterMapBidi<O>
source§fn map_ref<O, M>(&self, map: M) -> <ContextualizedVar<T> as Var<T>>::MapRef<O>
fn map_ref<O, M>(&self, map: M) -> <ContextualizedVar<T> as Var<T>>::MapRef<O>
self
. The map
closure is called for each value access, it must reference the
value O
that already exists in T
.source§fn map_ref_bidi<O, M, B>(
&self,
map: M,
map_mut: B,
) -> <ContextualizedVar<T> as Var<T>>::MapRefBidi<O>
fn map_ref_bidi<O, M, B>( &self, map: M, map_mut: B, ) -> <ContextualizedVar<T> as Var<T>>::MapRefBidi<O>
self
. The map
closure is called for each value access, it must reference the
value O
that already exists in T
, the map_mut
closure is called for every modify request, it must do the same
as map
but with mutable access.source§fn easing<F>(
&self,
duration: Duration,
easing: F,
) -> <ContextualizedVar<T> as Var<T>>::Easing
fn easing<F>( &self, duration: Duration, easing: F, ) -> <ContextualizedVar<T> as Var<T>>::Easing
source§fn easing_with<F, SE>(
&self,
duration: Duration,
easing: F,
sampler: SE,
) -> <ContextualizedVar<T> as Var<T>>::Easingwhere
T: Transitionable,
F: Fn(EasingTime) -> Factor + Send + Sync + 'static,
SE: Fn(&Transition<T>, Factor) -> T + Send + Sync + 'static,
fn easing_with<F, SE>(
&self,
duration: Duration,
easing: F,
sampler: SE,
) -> <ContextualizedVar<T> as Var<T>>::Easingwhere
T: Transitionable,
F: Fn(EasingTime) -> Factor + Send + Sync + 'static,
SE: Fn(&Transition<T>, Factor) -> T + Send + Sync + 'static,
source§fn boxed(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
fn boxed(self) -> Box<dyn VarBoxed<T>>where
Self: Sized,
BoxedVar<T>
, does not double box.source§fn boxed_any(self) -> Box<dyn AnyVar>where
Self: Sized,
fn boxed_any(self) -> Box<dyn AnyVar>where
Self: Sized,
BoxedAnyVar
, does not double box.source§fn hook(
&self,
pos_modify_action: impl Fn(&VarHookArgs<'_, T>) -> bool + Send + Sync + 'static,
) -> VarHandle
fn hook( &self, pos_modify_action: impl Fn(&VarHookArgs<'_, T>) -> bool + Send + Sync + 'static, ) -> VarHandle
modify
closure. The closure can return if it is retained after each call. If you modify another variable in a
hook the modification applies in the same update, variable mapping and binding is implemented using hooks. Read moresource§fn wait_update(&self) -> impl Future<Output = VarUpdateId> + Send + Sync
fn wait_update(&self) -> impl Future<Output = VarUpdateId> + Send + Sync
last_update
to change. Read moresource§fn wait_value(
&self,
predicate: impl Fn(&T) -> bool + Send + Sync,
) -> impl Future<Output = ()> + Send + Sync
fn wait_value( &self, predicate: impl Fn(&T) -> bool + Send + Sync, ) -> impl Future<Output = ()> + Send + Sync
predicate
.source§fn with_new<R, F>(&self, read: F) -> Option<R>
fn with_new<R, F>(&self, read: F) -> Option<R>
is_new
.source§fn get_ne(&self, value: &mut T) -> bool
fn get_ne(&self, value: &mut T) -> bool
value
if the current value is not equal to it.source§fn get_new_into(&self, value: &mut T) -> bool
fn get_new_into(&self, value: &mut T) -> bool
value
if the current value is_new
.source§fn get_new_ne(&self, value: &mut T) -> bool
fn get_new_ne(&self, value: &mut T) -> bool
value
if the variable value is_new
and not equal to the value
.source§fn set<I>(&self, value: I) -> Result<(), VarIsReadOnlyError>where
I: Into<T>,
fn set<I>(&self, value: I) -> Result<(), VarIsReadOnlyError>where
I: Into<T>,
value
for the variable, it will be set in the end of the current app update.source§fn set_from<I>(&self, other: &I) -> Result<(), VarIsReadOnlyError>where
I: Var<T>,
fn set_from<I>(&self, other: &I) -> Result<(), VarIsReadOnlyError>where
I: Var<T>,
value
for the variable, it will be set in the end of the current app update to the updated
value of other
, so if the other var has already scheduled an update, the updated value will be used. Read moresource§fn set_from_map<Iv, I, M>(
&self,
other: &I,
map: M,
) -> Result<(), VarIsReadOnlyError>
fn set_from_map<Iv, I, M>( &self, other: &I, map: M, ) -> Result<(), VarIsReadOnlyError>
other
value at the time of update, mapped to the type of self
.source§fn filter_try_into<O, I>(&self, fallback: I) -> Self::FilterMap<O>
fn filter_try_into<O, I>(&self, fallback: I) -> Self::FilterMap<O>
source§fn bind_filter_map<T2, V2, F>(&self, other: &V2, map: F) -> VarHandle
fn bind_filter_map<T2, V2, F>(&self, other: &V2, map: F) -> VarHandle
other
with the new values of self
transformed by map
, if the closure returns a value. Read moresource§fn bind_map_bidi<T2, V2, M, B>(
&self,
other: &V2,
map: M,
map_back: B,
) -> VarHandles
fn bind_map_bidi<T2, V2, M, B>( &self, other: &V2, map: M, map_back: B, ) -> VarHandles
source§fn bind_filter_map_bidi<T2, V2, M, B>(
&self,
other: &V2,
map: M,
map_back: B,
) -> VarHandles
fn bind_filter_map_bidi<T2, V2, M, B>( &self, other: &V2, map: M, map_back: B, ) -> VarHandles
self
to other
and back with the new values of self
transformed by map
and the new values of other
transformed
by map_back
, the value is assigned in a update only if the closures returns a value. Read moresource§fn set_bind<V2>(&self, other: &V2) -> VarHandlewhere
V2: Var<T>,
fn set_bind<V2>(&self, other: &V2) -> VarHandlewhere
V2: Var<T>,
other.set_from(self)
and self.bind(other)
.source§fn bind_bidi<V2>(&self, other: &V2) -> VarHandleswhere
V2: Var<T>,
fn bind_bidi<V2>(&self, other: &V2) -> VarHandleswhere
V2: Var<T>,
other
with the new values of self
and self
with the new values of other
. Read moresource§fn trace_value<E, S>(&self, enter_value: E) -> VarHandle
fn trace_value<E, S>(&self, enter_value: E) -> VarHandle
source§fn animate<A>(&self, animate: A) -> AnimationHandle
fn animate<A>(&self, animate: A) -> AnimationHandle
source§fn sequence<A>(&self, animate: A) -> VarHandle
fn sequence<A>(&self, animate: A) -> VarHandle
animate
, the closure is called once at the start to begin, then again every time
the variable stops animating. Read moresource§fn step_oci<N>(&self, new_value: N, delay: Duration) -> AnimationHandlewhere
N: Into<T>,
fn step_oci<N>(&self, new_value: N, delay: Duration) -> AnimationHandlewhere
N: Into<T>,
new_value
, every time the delay
elapses the variable is set to the next value.source§fn set_step_oci<V0, V1>(
&self,
from: V0,
to: V1,
delay: Duration,
) -> AnimationHandle
fn set_step_oci<V0, V1>( &self, from: V0, to: V1, delay: Duration, ) -> AnimationHandle
from
and to
, the variable is set to from
to start and every time the delay
elapses
the variable is set to the next value.source§fn steps<F>(
&self,
steps: Vec<(Factor, T)>,
duration: Duration,
easing: F,
) -> AnimationHandle
fn steps<F>( &self, steps: Vec<(Factor, T)>, duration: Duration, easing: F, ) -> AnimationHandle
duration
elapses. Read moresource§fn debug(&self) -> VarDebug<'_, T, Self>
fn debug(&self) -> VarDebug<'_, T, Self>
fmt::Debug
to write the var value.Auto Trait Implementations§
impl<T> !Freeze for ContextualizedVar<T>
impl<T> !RefUnwindSafe for ContextualizedVar<T>
impl<T> Send for ContextualizedVar<T>where
T: Send,
impl<T> Sync for ContextualizedVar<T>where
T: Sync,
impl<T> Unpin for ContextualizedVar<T>where
T: Unpin,
impl<T> !UnwindSafe for ContextualizedVar<T>
Blanket Implementations§
source§impl<V> AnyVarSubscribe for Vwhere
V: AnyVar,
impl<V> AnyVarSubscribe for Vwhere
V: AnyVar,
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<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
)§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<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> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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<V> LightDarkVarExt for V
impl<V> LightDarkVarExt for V
source§fn rgba_map<T>(
&self,
map: impl FnMut(Rgba) -> T + Send + 'static,
) -> impl Var<T>where
T: VarValue,
fn rgba_map<T>(
&self,
map: impl FnMut(Rgba) -> T + Send + 'static,
) -> impl Var<T>where
T: VarValue,
LightDark::rgba
and map
.source§fn rgba_into<T>(&self) -> impl Var<T>
fn rgba_into<T>(&self) -> impl Var<T>
LightDark::rgba
converted into T
.source§fn map_rgba(
&self,
map: impl FnMut(LightDark) -> LightDark + Send + 'static,
) -> impl Var<Rgba>
fn map_rgba( &self, map: impl FnMut(LightDark) -> LightDark + Send + 'static, ) -> impl Var<Rgba>
map
and then to LightDark::rgba
.source§fn map_rgba_into<T>(
&self,
map: impl FnMut(LightDark) -> LightDark + Send + 'static,
) -> impl Var<T>
fn map_rgba_into<T>( &self, map: impl FnMut(LightDark) -> LightDark + Send + 'static, ) -> impl Var<T>
map
and then into T
.source§fn shade_fct(&self, fct: impl Into<Factor>) -> impl Var<Rgba>
fn shade_fct(&self, fct: impl Into<Factor>) -> impl Var<Rgba>
LightDark::shade_fct
and then to LightDark::rgba
.source§fn shade_fct_into<T>(&self, fct: impl Into<Factor>) -> impl Var<T>
fn shade_fct_into<T>(&self, fct: impl Into<Factor>) -> impl Var<T>
LightDark::shade_fct
and then to LightDark::rgba
and then into T
.source§fn shade_into<T>(&self, shade: i8) -> impl Var<T>
fn shade_into<T>(&self, shade: i8) -> impl Var<T>
LightDark::shade
and then to LightDark::rgba
and then into T
.§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T, V> VarLayout<T> for V
impl<T, V> VarLayout<T> for V
source§fn layout(&self) -> <T as Layout2d>::Pxwhere
T: Layout2d,
fn layout(&self) -> <T as Layout2d>::Pxwhere
T: Layout2d,
LAYOUT
context.source§fn layout_dft(&self, default: <T as Layout2d>::Px) -> <T as Layout2d>::Pxwhere
T: Layout2d,
fn layout_dft(&self, default: <T as Layout2d>::Px) -> <T as Layout2d>::Pxwhere
T: Layout2d,
LAYOUT
context with default
.source§fn layout_x(&self) -> Pxwhere
T: Layout1d,
fn layout_x(&self) -> Pxwhere
T: Layout1d,
LAYOUT
context x axis.source§fn layout_y(&self) -> Pxwhere
T: Layout1d,
fn layout_y(&self) -> Pxwhere
T: Layout1d,
LAYOUT
context y axis.source§fn layout_z(&self) -> Pxwhere
T: Layout1d,
fn layout_z(&self) -> Pxwhere
T: Layout1d,
LAYOUT
context z axis.source§fn layout_dft_x(&self, default: Px) -> Pxwhere
T: Layout1d,
fn layout_dft_x(&self, default: Px) -> Pxwhere
T: Layout1d,
LAYOUT
context x axis with default
.source§impl<T, V> VarSubscribe<T> for V
impl<T, V> VarSubscribe<T> for V
source§fn subscribe_when(
&self,
op: UpdateOp,
widget_id: WidgetId,
predicate: impl Fn(&T) -> bool + Send + Sync + 'static,
) -> VarHandle
fn subscribe_when( &self, op: UpdateOp, widget_id: WidgetId, predicate: impl Fn(&T) -> bool + Send + Sync + 'static, ) -> VarHandle
source§fn on_pre_new<H>(&self, handler: H) -> VarHandlewhere
H: AppHandler<OnVarArgs<T>>,
fn on_pre_new<H>(&self, handler: H) -> VarHandlewhere
H: AppHandler<OnVarArgs<T>>,
handler
that is called every time this variable updates,
the handler is called before UI update. Read more