pub trait VarSubscribe<T: VarValue>: AnyVarSubscribe {
// Required methods
fn subscribe_when(
&self,
op: UpdateOp,
widget_id: WidgetId,
predicate: impl Fn(&VarHookArgs<'_, T>) -> bool + Send + Sync + 'static,
) -> VarHandle;
fn on_pre_new(&self, handler: Handler<OnVarArgs<T>>) -> VarHandle;
fn on_new(&self, handler: Handler<OnVarArgs<T>>) -> VarHandle;
}Expand description
Extension methods to subscribe any widget to a variable or app handlers to a variable.
Also see WIDGET methods for the primary way to subscribe from inside a widget.
Required Methods§
Sourcefn subscribe_when(
&self,
op: UpdateOp,
widget_id: WidgetId,
predicate: impl Fn(&VarHookArgs<'_, T>) -> bool + Send + Sync + 'static,
) -> VarHandle
fn subscribe_when( &self, op: UpdateOp, widget_id: WidgetId, predicate: impl Fn(&VarHookArgs<'_, T>) -> bool + Send + Sync + 'static, ) -> VarHandle
Register the widget to receive an UpdateOp when this variable is new and the predicate approves the new value.
Variables without the NEW capability return VarHandle::dummy.
Sourcefn on_pre_new(&self, handler: Handler<OnVarArgs<T>>) -> VarHandle
fn on_pre_new(&self, handler: Handler<OnVarArgs<T>>) -> VarHandle
Add a preview handler that is called every time this variable updates,
the handler is called before UI update.
Note that the handler runs on the app context, all ContextVar<T> used inside will have the default value.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".