pub struct Drag<'a, T: DragDropId, Message> { /* private fields */ }Expand description
A draggable item that can be dropped in Drop zones.
Implementations§
Source§impl<'a, T: DragDropId, Message: 'a> Drag<'a, T, Message>
impl<'a, T: DragDropId, Message: 'a> Drag<'a, T, Message>
Sourcepub fn new(
context: &'a DragDropContext<T>,
data: T,
content: impl IntoNode<'a, Message>,
) -> Self
pub fn new( context: &'a DragDropContext<T>, data: T, content: impl IntoNode<'a, Message>, ) -> Self
Construct a new Drag widget, with some data that is to be dragged through the context.
Sourcepub fn context(self, context: &'a DragDropContext<T>) -> Self
pub fn context(self, context: &'a DragDropContext<T>) -> Self
Sets the drag and drop context that the drag widget will work with.
Sourcepub fn extend<I: IntoIterator<Item = N>, N: IntoNode<'a, Message>>(
self,
iter: I,
) -> Self
pub fn extend<I: IntoIterator<Item = N>, N: IntoNode<'a, Message>>( self, iter: I, ) -> Self
Sets the content widget from the first element of an iterator.
Trait Implementations§
Source§impl<'a, T: DragDropId, Message> Default for Drag<'a, T, Message>
impl<'a, T: DragDropId, Message> Default for Drag<'a, T, Message>
Source§impl<'a, T: DragDropId + Send + Sync, Message: 'a> IntoNode<'a, Message> for Drag<'a, T, Message>
impl<'a, T: DragDropId + Send + Sync, Message: 'a> IntoNode<'a, Message> for Drag<'a, T, Message>
Source§impl<'a, T: DragDropId + Send + Sync, Message: 'a> Widget<'a, Message> for Drag<'a, T, Message>
impl<'a, T: DragDropId + Send + Sync, Message: 'a> Widget<'a, Message> for Drag<'a, T, Message>
Source§fn widget(&self) -> &'static str
fn widget(&self) -> &'static str
The name of this widget, used to identify widgets of this type in stylesheets.
Source§fn state(&self, state: &DragState<T>) -> StateVec
fn state(&self, state: &DragState<T>) -> StateVec
The state of this widget, used for computing the style.
If
None is returned, Node will automatically compute a state, such as “hover” and “pressed”.Source§fn len(&self) -> usize
fn len(&self) -> usize
Should return the amount of children this widget has. Must be consistent with
visit_children().Source§fn visit_children(
&mut self,
visitor: &mut dyn FnMut(&mut dyn GenericNode<'a, Message>),
)
fn visit_children( &mut self, visitor: &mut dyn FnMut(&mut dyn GenericNode<'a, Message>), )
Source§fn size(&self, _: &DragState<T>, style: &Stylesheet) -> (Size, Size)
fn size(&self, _: &DragState<T>, style: &Stylesheet) -> (Size, Size)
Returns the
(width, height) of this widget.
The extents are defined as a Size,
which will later be resolved to actual dimensions.Source§fn event(
&mut self,
state: &mut DragState<T>,
layout: Rectangle,
clip: Rectangle,
style: &Stylesheet,
event: Event,
context: &mut Context<Message>,
)
fn event( &mut self, state: &mut DragState<T>, layout: Rectangle, clip: Rectangle, style: &Stylesheet, event: Event, context: &mut Context<Message>, )
Source§fn draw(
&mut self,
state: &mut DragState<T>,
layout: Rectangle,
clip: Rectangle,
style: &Stylesheet,
) -> Vec<Primitive<'a>>
fn draw( &mut self, state: &mut DragState<T>, layout: Rectangle, clip: Rectangle, style: &Stylesheet, ) -> Vec<Primitive<'a>>
Draw the widget. Returns a list of
Primitives that should be drawn. Read moreSource§fn is_empty(&self) -> bool
fn is_empty(&self) -> bool
Returns whether this children has no children. Must be consistent with
visit_children().Source§fn hit(
&self,
_state: &Self::State,
layout: Rectangle,
clip: Rectangle,
_style: &Stylesheet,
x: f32,
y: f32,
) -> bool
fn hit( &self, _state: &Self::State, layout: Rectangle, clip: Rectangle, _style: &Stylesheet, x: f32, y: f32, ) -> bool
Source§fn focused(&self, _state: &Self::State) -> bool
fn focused(&self, _state: &Self::State) -> bool
Test the widget for focus exclusivity.
If the widget or one of it’s descendants is in an exclusive focus state, this function should return
true.
In all other cases, it should return false. When a widget is in an exclusive focus state it is
the only widget that is allowed to receive events in event.
Widgets that intended to use this behaviour are modal dialogs, dropdown boxes, context menu’s, etc.Auto Trait Implementations§
impl<'a, T, Message> Freeze for Drag<'a, T, Message>where
T: Freeze,
impl<'a, T, Message> !RefUnwindSafe for Drag<'a, T, Message>
impl<'a, T, Message> Send for Drag<'a, T, Message>
impl<'a, T, Message> !Sync for Drag<'a, T, Message>
impl<'a, T, Message> Unpin for Drag<'a, T, Message>where
T: Unpin,
impl<'a, T, Message> !UnwindSafe for Drag<'a, T, Message>
Blanket Implementations§
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
Mutably borrows from an owned value. Read more