Skip to main content

DragDropModifierExt

Trait DragDropModifierExt 

Source
pub trait DragDropModifierExt: Sized {
    // Required methods
    fn drag_source<T>(
        self,
        make_payload: impl Fn(DragStart) -> Option<T> + 'static,
    ) -> Modifier
       where T: 'static;
    fn on_drag_enter_typed<T>(
        self,
        f: impl Fn(&DragOver, &T) + 'static,
    ) -> Modifier
       where T: 'static;
    fn on_drag_over_typed<T>(
        self,
        f: impl Fn(&DragOver, &T) + 'static,
    ) -> Modifier
       where T: 'static;
    fn on_drag_leave_typed<T>(
        self,
        f: impl Fn(&DragOver, &T) + 'static,
    ) -> Modifier
       where T: 'static;
    fn on_drop_typed<T>(
        self,
        f: impl Fn(&DropEvent, &T) -> bool + 'static,
    ) -> Modifier
       where T: 'static;
    fn drop_target<T>(
        self,
        on_drop: impl Fn(&DropEvent, &T) -> bool + 'static,
    ) -> Modifier
       where T: 'static;
}
Expand description

Compose-like typed drag/drop modifier helpers.

Required Methods§

Source

fn drag_source<T>( self, make_payload: impl Fn(DragStart) -> Option<T> + 'static, ) -> Modifier
where T: 'static,

Make this node a typed drag source.

Source

fn on_drag_enter_typed<T>(self, f: impl Fn(&DragOver, &T) + 'static) -> Modifier
where T: 'static,

Typed drag-enter.

Source

fn on_drag_over_typed<T>(self, f: impl Fn(&DragOver, &T) + 'static) -> Modifier
where T: 'static,

Typed drag-over.

Source

fn on_drag_leave_typed<T>(self, f: impl Fn(&DragOver, &T) + 'static) -> Modifier
where T: 'static,

Typed drag-leave.

Source

fn on_drop_typed<T>( self, f: impl Fn(&DropEvent, &T) -> bool + 'static, ) -> Modifier
where T: 'static,

Typed drop target.

Source

fn drop_target<T>( self, on_drop: impl Fn(&DropEvent, &T) -> bool + 'static, ) -> Modifier
where T: 'static,

Common case: typed drag-over + typed drop.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§