Trait druid::AppDelegate

source ·
pub trait AppDelegate<T: Data> {
    // Provided methods
    fn event(
        &mut self,
        ctx: &mut DelegateCtx<'_>,
        window_id: WindowId,
        event: Event,
        data: &mut T,
        env: &Env
    ) -> Option<Event> { ... }
    fn command(
        &mut self,
        ctx: &mut DelegateCtx<'_>,
        target: Target,
        cmd: &Command,
        data: &mut T,
        env: &Env
    ) -> Handled { ... }
    fn window_added(
        &mut self,
        id: WindowId,
        handle: WindowHandle,
        data: &mut T,
        env: &Env,
        ctx: &mut DelegateCtx<'_>
    ) { ... }
    fn window_removed(
        &mut self,
        id: WindowId,
        data: &mut T,
        env: &Env,
        ctx: &mut DelegateCtx<'_>
    ) { ... }
}
Expand description

A type that provides hooks for handling and modifying top-level events.

The AppDelegate is a trait that is allowed to handle and modify events before they are passed down the widget tree.

It is a natural place for things like window and menu management.

You customize the AppDelegate by implementing its methods on your own type.

Provided Methods§

source

fn event( &mut self, ctx: &mut DelegateCtx<'_>, window_id: WindowId, event: Event, data: &mut T, env: &Env ) -> Option<Event>

The AppDelegate’s event handler. This function receives all non-command events, before they are passed down the tree.

The return value of this function will be passed down the tree. This can be the event that was passed in, a different event, or no event. In all cases, the update method will be called as usual.

source

fn command( &mut self, ctx: &mut DelegateCtx<'_>, target: Target, cmd: &Command, data: &mut T, env: &Env ) -> Handled

The AppDelegates Command handler.

This function is called with each (Target, Command) pair before they are sent down the tree.

If your implementation returns Handled::No, the command will be sent down the widget tree. Otherwise it will not.

To do anything fancier than this, you can submit arbitrary commands via DelegateCtx::submit_command.

source

fn window_added( &mut self, id: WindowId, handle: WindowHandle, data: &mut T, env: &Env, ctx: &mut DelegateCtx<'_> )

The handler for window creation events. This function is called after a window has been added, allowing you to customize the window creation behavior of your app.

source

fn window_removed( &mut self, id: WindowId, data: &mut T, env: &Env, ctx: &mut DelegateCtx<'_> )

The handler for window deletion events. This function is called after a window has been removed.

Implementors§