Struct vizia_core::events::Event

source ·
pub struct Event { /* private fields */ }
Expand description

A wrapper around a message, providing metadata on how the event travels through the view tree.

Implementations§

source§

impl Event

source

pub fn new<M>(message: M) -> Self
where M: Any + Send,

Creates a new event with a specified message.

source

pub fn target(self, entity: Entity) -> Self

Sets the target of the event.

source

pub fn origin(self, entity: Entity) -> Self

Sets the origin of the event.

source

pub fn propagate(self, propagation: Propagation) -> Self

Sets the propagation of the event.

source

pub fn direct(self, entity: Entity) -> Self

Sets the propagation to directly target the entity.

source

pub fn consume(&mut self)

Consumes the event to prevent it from continuing on its propagation path.

source

pub fn map<M, F>(&mut self, f: F)
where M: Any + Send, F: FnOnce(&M, &mut EventMeta),

Tries to downcast the event message to the specified type. If the downcast was successful, the message and the event metadata get passed into f.

§Example
event.map(|app_event, _| match app_event {
    AppEvent::Increment => {
        self.count += 1;
    }

    AppEvent::Decrement => {
        self.count -= 1;
    }
});
source

pub fn take<M: Any + Send, F>(&mut self, f: F)
where F: FnOnce(M, &mut EventMeta),

Tries to downcast the event message to the specified type. If the downcast was successful, return the message by value and consume the event. Otherwise, do nothing.

§Example
event.take(|app_event, meta| match app_event {
    AppEvent::Increment => {
        self.count += 1;
    }

    AppEvent::Decrement => {
        self.count -= 1;
    }
});

Trait Implementations§

source§

impl Debug for Event

source§

fn fmt(&self, _: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Event

§

impl !RefUnwindSafe for Event

§

impl Send for Event

§

impl !Sync for Event

§

impl Unpin for Event

§

impl !UnwindSafe for Event

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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>

Convert 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)

Convert &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)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more