pub struct AnyEvent { /* private fields */ }
Expand description
Represents an Event
without the args type.
Implementations§
source§impl AnyEvent
impl AnyEvent
sourcepub fn is<A>(&self, event: &Event<A>) -> boolwhere
A: EventArgs,
pub fn is<A>(&self, event: &Event<A>) -> boolwhere
A: EventArgs,
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§
§impl<T> AnyEq for T
impl<T> AnyEq for T
source§impl<T> AnyVarValue for Twhere
T: VarValue,
impl<T> AnyVarValue for Twhere
T: VarValue,
source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
dyn Any
methods.source§fn clone_boxed(&self) -> Box<dyn AnyVarValue>
fn clone_boxed(&self) -> Box<dyn AnyVarValue>
source§fn clone_boxed_var(&self) -> Box<dyn AnyVar>
fn clone_boxed_var(&self) -> Box<dyn AnyVar>
LocalVar<Self>
.source§fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
self
equals other
.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<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> FsChangeNote for T
impl<T> FsChangeNote 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 more