pub struct StandardListItem { /* private fields */ }Expand description
Canonical single-line or two-line row layout for use in a ListView.
See the module-level documentation for the full slot layout and wiring rules.
Implementations§
Source§impl StandardListItem
impl StandardListItem
Sourcepub fn new(label: impl Into<LocalizedString>) -> Self
pub fn new(label: impl Into<LocalizedString>) -> Self
Create a list item with the given primary label.
Sourcepub fn style(self, style: impl StandardItemStyle) -> Self
pub fn style(self, style: impl StandardItemStyle) -> Self
Per-call style override. Replaces the theme-wide default
StandardItemStyle for just this row instance.
Sourcepub fn subtitle(self, text: impl Into<LocalizedString>) -> Self
pub fn subtitle(self, text: impl Into<LocalizedString>) -> Self
Set an optional secondary line below the primary label.
Sourcepub fn leading_slot(self, widget: impl Widget + 'static) -> Self
pub fn leading_slot(self, widget: impl Widget + 'static) -> Self
Leading slot — placed AFTER the optional checkbox, BEFORE the
center slot. Typical: IconWidget, avatar, color swatch.
Sourcepub fn leading_slot_boxed(self, widget: Box<dyn Widget>) -> Self
pub fn leading_slot_boxed(self, widget: Box<dyn Widget>) -> Self
Box<dyn Widget> variant of leading_slot.
Sourcepub fn center_slot(self, widget: impl Widget + 'static) -> Self
pub fn center_slot(self, widget: impl Widget + 'static) -> Self
Center slot — placed BETWEEN the leading slot and the label.
Typical: status dot, colored category bar, drag-handle gripper,
key-binding chip. Distinct from leading_slot: leading is the
row’s icon identity, center is label-adjacent decoration.
Sourcepub fn center_slot_boxed(self, widget: Box<dyn Widget>) -> Self
pub fn center_slot_boxed(self, widget: Box<dyn Widget>) -> Self
Box<dyn Widget> variant of center_slot.
Sourcepub fn trailing_slot(self, widget: impl Widget + 'static) -> Self
pub fn trailing_slot(self, widget: impl Widget + 'static) -> Self
Trailing slot — placed AFTER the flex Spacer on the primary line. Typical: badge, count, status pill, secondary IconButton.
Sourcepub fn trailing_slot_boxed(self, widget: Box<dyn Widget>) -> Self
pub fn trailing_slot_boxed(self, widget: Box<dyn Widget>) -> Self
Box<dyn Widget> variant of trailing_slot.
Sourcepub fn subtitle_leading_slot(self, widget: impl Widget + 'static) -> Self
pub fn subtitle_leading_slot(self, widget: impl Widget + 'static) -> Self
Leading slot for the subtitle line. No-op without subtitle(...).
Sourcepub fn subtitle_leading_slot_boxed(self, widget: Box<dyn Widget>) -> Self
pub fn subtitle_leading_slot_boxed(self, widget: Box<dyn Widget>) -> Self
Box<dyn Widget> variant of subtitle_leading_slot.
Sourcepub fn subtitle_trailing_slot(self, widget: impl Widget + 'static) -> Self
pub fn subtitle_trailing_slot(self, widget: impl Widget + 'static) -> Self
Trailing slot for the subtitle line. No-op without subtitle(...).
Sourcepub fn subtitle_trailing_slot_boxed(self, widget: Box<dyn Widget>) -> Self
pub fn subtitle_trailing_slot_boxed(self, widget: Box<dyn Widget>) -> Self
Box<dyn Widget> variant of subtitle_trailing_slot.
Sourcepub fn checkbox(self, checked: Signal<bool>) -> Self
pub fn checkbox(self, checked: Signal<bool>) -> Self
Optional two-state checkbox at the start of the row.
Mutually exclusive with tristate_checkbox — last call wins.
Sourcepub fn tristate_checkbox(self, state: Signal<CheckState>) -> Self
pub fn tristate_checkbox(self, state: Signal<CheckState>) -> Self
Optional tri-state checkbox bound to Signal<CheckState>.
Cycles Unchecked → Checked → Indeterminate. Mutually
exclusive with checkbox — last call wins.
Sourcepub fn selected(self, selected: impl Into<Prop<bool>>) -> Self
pub fn selected(self, selected: impl Into<Prop<bool>>) -> Self
Set the selection state, statically or reactively via a bound
Signal<bool>.
Sourcepub fn enabled(self, enabled: impl Into<Prop<bool>>) -> Self
pub fn enabled(self, enabled: impl Into<Prop<bool>>) -> Self
Set the enabled state, statically or reactively via a bound
Signal<bool> / Prop<bool>.
Sourcepub fn label_style(self, style: impl Into<TextStyleProp>) -> Self
pub fn label_style(self, style: impl Into<TextStyleProp>) -> Self
Override the label’s text style (font, size, weight). Accepts a
TextStyleRole, a TextStyle, or a Signal of either. Default is
TextStyleRole::Body.
Sourcepub fn subtitle_style(self, style: impl Into<TextStyleProp>) -> Self
pub fn subtitle_style(self, style: impl Into<TextStyleProp>) -> Self
Override the subtitle’s text style. Default is TextStyleRole::Small.
Sourcepub fn label_color(self, color: impl Into<ColorProp>) -> Self
pub fn label_color(self, color: impl Into<ColorProp>) -> Self
Override the label’s text color. Accepts Color, a role, or a
Signal of either. Default (unset) is enabled-derived
(Primary / Disabled); setting this replaces that cascade.
Sourcepub fn subtitle_color(self, color: impl Into<ColorProp>) -> Self
pub fn subtitle_color(self, color: impl Into<ColorProp>) -> Self
Override the subtitle’s text color. Default (unset) is
TextRole::Secondary.
Sourcepub fn interaction_signal(self, signal: Signal<InteractionState>) -> Self
pub fn interaction_signal(self, signal: Signal<InteractionState>) -> Self
Truncate the primary label instead of wrapping it. Default (unset) is
TextOverflow::Wrap.
A wrapping label reports its full intrinsic width, so on a row too
narrow to hold it the primary HStack is over-constrained and the
trailing_slot is pushed past the row’s edge.
Set TextOverflow::Ellipsis(..) on rows whose trailing actions must
stay reachable: the label then shrinks and truncates within the row.
Share the row’s interaction state, so a caller can reveal controls on
hover.
A row that shows its actions only while the pointer is over it is a standard pattern — a search result offering replace and dismiss, a list offering remove — and it cannot be built from outside without knowing when the row is hovered. The row already tracks that; this is the handle on it.
The signal is written by the row, not read: pass one in, watch it, and gate a trailing slot on it. Reserve the space the controls will take, or the row reflows under the pointer that is trying to hit them.
Sourcepub fn label_slot(self, widget: impl Widget + 'static) -> Self
pub fn label_slot(self, widget: impl Widget + 'static) -> Self
Draw this instead of the label’s text, keeping the label as the row’s accessible name.
For a row whose label is not plain text: a search result with the matched
run picked out of its excerpt, a diff line, anything built from runs rather
than from a string. The label passed to new is still what
accessibility reports, so the row keeps a name a screen reader can read —
which is the whole reason this is a replacement for the drawing and not a
replacement for the label.
The widget is laid out where the text would have been, so it inherits the
row’s spacing and its place beside the leading and trailing slots.
label_style, label_color and
label_overflow do not reach it: it draws itself.
pub fn label_overflow(self, overflow: TextOverflow) -> Self
Sourcepub fn subtitle_overflow(self, overflow: TextOverflow) -> Self
pub fn subtitle_overflow(self, overflow: TextOverflow) -> Self
Truncate the subtitle instead of wrapping it. Default (unset) is
TextOverflow::Wrap.
Same rationale as label_overflow — and the
usual culprit, since subtitles carry long secondary text (file paths,
URLs). TextOverflow::Ellipsis(EllipsisMode::Middle) suits a path: it
keeps both the root and the file name legible.
Sourcepub fn tooltip(self, text: impl Into<LocalizedString>) -> Self
pub fn tooltip(self, text: impl Into<LocalizedString>) -> Self
Attach a plain tooltip shown after the standard hover delay.
Mutually exclusive with rich_tooltip,
rich_tooltip_content, and
composite_tooltip — the last setter called
wins and clears the other slots.
Sourcepub fn rich_tooltip(self, key: impl Into<String>) -> Self
pub fn rich_tooltip(self, key: impl Into<String>) -> Self
Attach a rich tooltip looked up from the global tooltip registry by key.
Mutually exclusive with tooltip,
rich_tooltip_content, and
composite_tooltip — the last setter called
wins and clears the other slots.
Sourcepub fn rich_tooltip_content(self, content: TooltipContent) -> Self
pub fn rich_tooltip_content(self, content: TooltipContent) -> Self
Attach a rich tooltip from an inline TooltipContent
value (no registry lookup required).
Mutually exclusive with tooltip,
rich_tooltip, and
composite_tooltip — the last setter called
wins and clears the other slots.
Sourcepub fn composite_tooltip(self, content: impl Widget + 'static) -> Self
pub fn composite_tooltip(self, content: impl Widget + 'static) -> Self
Attach a composite tooltip whose body is an arbitrary widget tree.
Mutually exclusive with tooltip,
rich_tooltip, and
rich_tooltip_content — the last setter
called wins and clears the other slots.
Trait Implementations§
Source§impl Debug for StandardListItem
impl Debug for StandardListItem
Source§impl Widget for StandardListItem
impl Widget for StandardListItem
Source§fn build(&mut self, ctx: &mut BuildContext<'_>) -> Vec<WidgetId>
fn build(&mut self, ctx: &mut BuildContext<'_>) -> Vec<WidgetId>
&mut self — store child IDs, signal handles, any state needed later.
Returns the list of root child IDs (empty for leaf widgets).Source§fn layout_response(
&self,
proposal: SizeProposal,
ctx: &LayoutContext<'_>,
) -> LayoutResponse
fn layout_response( &self, proposal: SizeProposal, ctx: &LayoutContext<'_>, ) -> LayoutResponse
LayoutResponse]). Read moreSource§fn place_children(
&self,
bounds: Rect,
_proposal: SizeProposal,
children: &mut [WidgetPlacement],
_ctx: &LayoutContext<'_>,
)
fn place_children( &self, bounds: Rect, _proposal: SizeProposal, children: &mut [WidgetPlacement], _ctx: &LayoutContext<'_>, )
Source§fn accessibility(&self, builder: &mut AccessNodeBuilder)
fn accessibility(&self, builder: &mut AccessNodeBuilder)
§fn type_name(&self) -> &'static str
fn type_name(&self) -> &'static str
"teksilo_widgets::button::Button"). The default implementation
resolves at the impl site via std::any::type_name::<Self>(),
so calls through &dyn Widget correctly dispatch to the
monomorphized fn for the concrete type — getting the
concrete name through the vtable without per-impl boilerplate. Read more§fn cacheable_layout(&self) -> bool
fn cacheable_layout(&self) -> bool
layout_response may be
memoized by the per-pass layout cache. Defaults to true. Read more§fn paint(&self, _bounds: Rect, _canvas: &mut Canvas, _ctx: &PaintContext<'_>)
fn paint(&self, _bounds: Rect, _canvas: &mut Canvas, _ctx: &PaintContext<'_>)
§fn wants_after_paint(&self) -> bool
fn wants_after_paint(&self) -> bool
after_paint
hook to fire each frame. Returning false (the default) saves
a virtual call per widget per frame for the vast majority of
widgets that don’t aggregate descendant geometry. Read more§fn after_paint(&self, _view: &WidgetTreeView<'_>, _ctx: &PaintContext<'_>)
fn after_paint(&self, _view: &WidgetTreeView<'_>, _ctx: &PaintContext<'_>)
TitleBar aggregates its drag region and control-button
rects into a single HitRegions payload for the Windows
backend’s WM_NCHITTEST. Read more§fn wants_post_paint(&self) -> bool
fn wants_post_paint(&self) -> bool
post_paint
hook to fire each frame. Returning false (the default) saves a
virtual call per widget per frame for the vast majority of widgets
that don’t draw a foreground over their children. Read more§fn post_paint(
&self,
_bounds: Rect,
_canvas: &mut Canvas,
_ctx: &PaintContext<'_>,
)
fn post_paint( &self, _bounds: Rect, _canvas: &mut Canvas, _ctx: &PaintContext<'_>, )
§fn wants_descendant_redirects(&self) -> bool
fn wants_descendant_redirects(&self) -> bool
a11y_redirect_descendant
hook for every descendant during AT tree emission, not
just its direct arena children. Read more§fn a11y_redirect_descendant(
&self,
_self_id: WidgetId,
_descendant: WidgetId,
) -> Option<NodeId>
fn a11y_redirect_descendant( &self, _self_id: WidgetId, _descendant: WidgetId, ) -> Option<NodeId>
§fn accessible_title_hint(&self) -> Option<String>
fn accessible_title_hint(&self) -> Option<String>
§fn initial_focus_hint(&self) -> Option<WidgetId>
fn initial_focus_hint(&self) -> Option<WidgetId>
§fn accessibility_children(&self) -> Option<Vec<WidgetId>>
fn accessibility_children(&self) -> Option<Vec<WidgetId>>
§fn as_any(&self) -> Option<&(dyn Any + 'static)>
fn as_any(&self) -> Option<&(dyn Any + 'static)>
None; concrete
widgets override with Some(self) when they want to expose
their concrete type to test-level introspection or reflection.
The trait already bounds on std::any::Any so concrete types
satisfy the 'static requirement.§fn as_any_mut(&mut self) -> Option<&mut (dyn Any + 'static)>
fn as_any_mut(&mut self) -> Option<&mut (dyn Any + 'static)>
as_any. Default
returns None; widgets that want to expose mutable state to
tests (e.g. so a test can mutate a Scene inside a
SceneView post-layout) override with Some(self). Should
follow the same opt-in pattern as as_any: only widgets
that opt into & introspection should opt into &mut.§fn clips_children(&self) -> bool
fn clips_children(&self) -> bool
§fn focus_reveal_rect(&self, _bounds: Rect) -> Option<Rect>
fn focus_reveal_rect(&self, _bounds: Rect) -> Option<Rect>
None (the default) reveals the widget’s whole
bounds — correct for most controls. Read more§fn hit_shape(&self, _local_point: Point, _bounds: Rect) -> bool
fn hit_shape(&self, _local_point: Point, _bounds: Rect) -> bool
false for a point that is inside
the bounding box makes the widget transparent to the click there,
so it falls through to whatever sibling is painted underneath
(the same machinery as a fully pass-through node, but shape-aware). Read more§fn preserves_children_on_rebuild(&self) -> bool
fn preserves_children_on_rebuild(&self) -> bool
rebuild_single_widget treats this widget’s existing children
when re-running its build(). Read more§fn tooltip_has_content(&self) -> bool
fn tooltip_has_content(&self) -> bool
§fn declare_shortcuts(&self) -> Vec<Shortcut>
fn declare_shortcuts(&self) -> Vec<Shortcut>
build()) and at certain lazy
boundaries (e.g. Switcher walks declarations on its
not-yet-mounted Pending slots), so settings UIs and the
ShortcutRegistry see the keystrokes the moment the owning
container mounts — even if build() hasn’t run. Read more§fn take_handler_set(&mut self) -> Option<HandlerSet>
fn take_handler_set(&mut self) -> Option<HandlerSet>
WidgetWithHandlers wrapper.
Called during arena insertion to transfer handlers to the WidgetNode.
Default: returns None (no attached handlers).Auto Trait Implementations§
impl !RefUnwindSafe for StandardListItem
impl !Send for StandardListItem
impl !Sync for StandardListItem
impl !UnwindSafe for StandardListItem
impl Freeze for StandardListItem
impl Unpin for StandardListItem
impl UnsafeUnpin for StandardListItem
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§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> ErasedDestructor for Twhere
T: 'static,
§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> 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§impl<W> IntoTeksiChild for Wwhere
W: Widget + 'static,
impl<W> IntoTeksiChild for Wwhere
W: Widget + 'static,
fn into_pending(self) -> PendingChild
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<W> WidgetBuilder for Wwhere
W: Widget + 'static,
impl<W> WidgetBuilder for Wwhere
W: Widget + 'static,
fn on_tap( self, f: impl FnMut(&TapEvent, &mut EventContext<'_>) + 'static, ) -> WidgetWithHandlers<Self>
fn on_double_tap( self, f: impl FnMut(&TapEvent, &mut EventContext<'_>) + 'static, ) -> WidgetWithHandlers<Self>
fn on_triple_tap( self, f: impl FnMut(&TapEvent, &mut EventContext<'_>) + 'static, ) -> WidgetWithHandlers<Self>
fn on_long_press( self, f: impl FnMut(&TapEvent, &mut EventContext<'_>) + 'static, ) -> WidgetWithHandlers<Self>
on_tap. Default is [ButtonMask::PRIMARY].on_double_tap. Default [ButtonMask::PRIMARY].on_triple_tap. Default [ButtonMask::PRIMARY].on_long_press. Default [ButtonMask::PRIMARY].§fn dim_when_inactive(self, factor: f32) -> DimWhenInactive
fn dim_when_inactive(self, factor: f32) -> DimWhenInactive
factor opacity whenever the host window
is inactive (not focused / occluded), restoring full opacity when it
becomes active again. The opt-in, per-widget layer of the window-active
appearance model — for custom content an app wants to fade back when its
window isn’t the active one. Stock widgets handle their own
inactive appearance (caret hiding, selection desaturation) and need no
wrapping. Layout- and a11y-transparent; the opacity snaps (no tween),
which is correct under prefers-reduced-motion. See
DimWhenInactive.§fn dim_when_inactive_default(self) -> DimWhenInactive
fn dim_when_inactive_default(self) -> DimWhenInactive
dim_when_inactive with the default factor
(DEFAULT_DIM_FACTOR, 70 %).fn on_drag( self, f: impl FnMut(DragPhase, &mut EventContext<'_>) + 'static, ) -> WidgetWithHandlers<Self>
fn on_swipe( self, f: impl FnMut(SwipeDirection, f32, &mut EventContext<'_>) + 'static, ) -> WidgetWithHandlers<Self>
fn on_pinch( self, f: impl FnMut(PinchPhase, &mut EventContext<'_>) + 'static, ) -> WidgetWithHandlers<Self>
fn on_focus( self, f: impl FnMut(bool, &mut EventContext<'_>) + 'static, ) -> WidgetWithHandlers<Self>
fn on_key( self, f: impl FnMut(&WidgetEvent, &mut EventContext<'_>) -> EventResponse + 'static, ) -> WidgetWithHandlers<Self>
§fn on_key_preview(
self,
f: impl FnMut(&WidgetEvent, &mut EventContext<'_>) -> EventResponse + 'static,
) -> WidgetWithHandlers<Self>
fn on_key_preview( self, f: impl FnMut(&WidgetEvent, &mut EventContext<'_>) -> EventResponse + 'static, ) -> WidgetWithHandlers<Self>
HandlerSet::on_key_preview].fn on_pointer_event( self, f: impl FnMut(&WidgetEvent, &mut EventContext<'_>) -> EventResponse + 'static, ) -> WidgetWithHandlers<Self>
fn on_hover( self, f: impl FnMut(bool, &mut EventContext<'_>) + 'static, ) -> WidgetWithHandlers<Self>
fn on_scroll( self, f: impl FnMut(&WidgetEvent, &mut EventContext<'_>) -> EventResponse + 'static, ) -> WidgetWithHandlers<Self>
fn on_access_action( self, f: impl FnMut(Action, &mut EventContext<'_>) -> EventResponse + 'static, ) -> WidgetWithHandlers<Self>
fn focusable(self, focusable: bool) -> WidgetWithHandlers<Self>
fn tab_index(self, index: i32) -> WidgetWithHandlers<Self>
fn cursor(self, cursor: CursorIcon) -> WidgetWithHandlers<Self>
fn clips_children_on(self, clips: bool) -> WidgetWithHandlers<Self>
§fn ime_input(self, ctx: ImeContext) -> WidgetWithHandlers<Self>
fn ime_input(self, ctx: ImeContext) -> WidgetWithHandlers<Self>
ctx’s purpose) while it is focused. See [crate::ime].§fn event_pass_through(self, pass_through: bool) -> WidgetWithHandlers<Self>
fn event_pass_through(self, pass_through: bool) -> WidgetWithHandlers<Self>
HandlerSet::event_pass_through].§fn gesture_dead_zone(self, dead_zone: bool) -> WidgetWithHandlers<Self>
fn gesture_dead_zone(self, dead_zone: bool) -> WidgetWithHandlers<Self>
HandlerSet::gesture_dead_zone].§fn keyboard_capture(self, capture: bool) -> WidgetWithHandlers<Self>
fn keyboard_capture(self, capture: bool) -> WidgetWithHandlers<Self>
KeyDowns bypass shortcut resolution.
See [HandlerSet::keyboard_capture].§fn hit_transparent(self, transparent: bool) -> WidgetWithHandlers<Self>
fn hit_transparent(self, transparent: bool) -> WidgetWithHandlers<Self>
HandlerSet::hit_transparent].HandlerSet::context_menu] for the full contract.§fn focus_within(self, signal: Signal<bool>) -> WidgetWithHandlers<Self>
fn focus_within(self, signal: Signal<bool>) -> WidgetWithHandlers<Self>
Signal<bool> the framework writes when a strict
descendant has focus. See [HandlerSet::focus_within].§fn hover_within(self, signal: Signal<bool>) -> WidgetWithHandlers<Self>
fn hover_within(self, signal: Signal<bool>) -> WidgetWithHandlers<Self>
Signal<bool> the framework writes when a strict
descendant is hovered. See [HandlerSet::hover_within].§fn visible_when(self, state: impl Into<Prop<bool>>) -> WidgetWithHandlers<Self>
fn visible_when(self, state: impl Into<Prop<bool>>) -> WidgetWithHandlers<Self>
bool / Signal<bool> / Prop<bool>) as
a builder property, so teksu! can write visible_when: sig. Equivalent
to ctx.visible_when(id, ..). See [HandlerSet::visible_when].fn on_drag_hover( self, f: impl FnMut(&DragPayload, Point, &mut EventContext<'_>) -> DropFeedback + 'static, ) -> WidgetWithHandlers<Self>
fn on_drag_leave( self, f: impl FnMut(&mut EventContext<'_>) + 'static, ) -> WidgetWithHandlers<Self>
fn on_drag_tick( self, f: impl FnMut(Point, &mut EventContext<'_>) + 'static, ) -> WidgetWithHandlers<Self>
fn on_drop( self, f: impl FnMut(DragPayload, Point, &mut EventContext<'_>) -> bool + 'static, ) -> WidgetWithHandlers<Self>
§fn on_drag_ended(
self,
f: impl FnMut(DropOutcome, &mut EventContext<'_>) + 'static,
) -> WidgetWithHandlers<Self>
fn on_drag_ended( self, f: impl FnMut(DropOutcome, &mut EventContext<'_>) + 'static, ) -> WidgetWithHandlers<Self>
HandlerSet::on_drag_ended].