pub struct AnyEvent { /* private fields */ }Expand description
Represents an Event without the args type.
Implementations§
Source§impl AnyEvent
impl AnyEvent
Sourcepub fn is<A: EventArgs>(&self, event: &Event<A>) -> bool
pub fn is<A: EventArgs>(&self, event: &Event<A>) -> bool
Returns true if self is the type erased event.
Sourcepub fn has(&self, update: &EventUpdate) -> bool
pub fn has(&self, update: &EventUpdate) -> bool
Returns true if the update is for this event.
Sourcepub fn hook(
&self,
hook: impl Fn(&mut EventUpdate) -> bool + Send + Sync + 'static,
) -> EventHandle
pub fn hook( &self, hook: impl Fn(&mut EventUpdate) -> bool + Send + Sync + 'static, ) -> EventHandle
Register a callback that is called just before an event begins notifying.
Sourcepub fn subscribe(&self, widget_id: WidgetId) -> EventHandle
pub fn subscribe(&self, widget_id: WidgetId) -> EventHandle
Register the widget to receive targeted events from this event.
Widgets only receive events if they are in the delivery list generated by the event args and are subscribers to the event. App extensions receive all events.
Sourcepub fn is_subscriber(&self, widget_id: WidgetId) -> bool
pub fn is_subscriber(&self, widget_id: WidgetId) -> bool
Returns true if the widget is subscribed to this event.
Sourcepub fn has_subscribers(&self) -> bool
pub fn has_subscribers(&self) -> bool
Returns true if at least one widget is subscribed to this event.
Sourcepub fn visit_subscribers<T>(
&self,
visit: impl FnMut(WidgetId) -> ControlFlow<T>,
) -> Option<T>
pub fn visit_subscribers<T>( &self, visit: impl FnMut(WidgetId) -> ControlFlow<T>, ) -> Option<T>
Calls visit for each widget subscribed to this event.
Note that trying to subscribe or add hook inside visit will deadlock. Inside visit you can notify the event and
generate event updates.
Sourcepub fn has_hooks(&self) -> bool
pub fn has_hooks(&self) -> bool
Returns true if any app level callback is registered for this event.
This includes AnyEvent::hook, Event::on_pre_event, Event::on_event and Event::receiver.
Trait Implementations§
Source§impl UpdateSubscribers for AnyEvent
impl UpdateSubscribers for AnyEvent
impl Copy for AnyEvent
impl Eq for AnyEvent
Auto Trait Implementations§
impl Freeze for AnyEvent
impl RefUnwindSafe for AnyEvent
impl Send for AnyEvent
impl Sync for AnyEvent
impl Unpin for AnyEvent
impl UnwindSafe for AnyEvent
Blanket Implementations§
Source§impl<T> AnyVarValue for T
impl<T> AnyVarValue for T
Source§fn clone_boxed(&self) -> BoxAnyVarValue
fn clone_boxed(&self) -> BoxAnyVarValue
Source§fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
self and other are equal.Source§fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
other if both are of the same type.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,
§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.§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> 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 more