pub struct GridView<T: 'static> { /* private fields */ }Expand description
A virtualized 2D tile grid backed by a ListModel<T>.
Implementations§
Source§impl<T: 'static> GridView<T>
impl<T: 'static> GridView<T>
Sourcepub fn new(
model: ListModel<T>,
delegate: impl Fn(&TileContext<'_, T>) -> Box<dyn Widget> + 'static,
) -> Self
pub fn new( model: ListModel<T>, delegate: impl Fn(&TileContext<'_, T>) -> Box<dyn Widget> + 'static, ) -> Self
Create a grid backed by a ListModel<T>. The delegate builds the
widget for each tile from a TileContext.
Sourcepub fn from_source<S: ListDataSource<Item = T>>(
source: S,
delegate: impl Fn(&TileContext<'_, T>) -> Box<dyn Widget> + 'static,
) -> Self
pub fn from_source<S: ListDataSource<Item = T>>( source: S, delegate: impl Fn(&TileContext<'_, T>) -> Box<dyn Widget> + 'static, ) -> Self
Create a grid backed by any ListDataSource (large / external data).
Sourcepub fn enabled(self, enabled: impl Into<Prop<bool>>) -> Self
pub fn enabled(self, enabled: impl Into<Prop<bool>>) -> Self
Enable or disable the whole view. A disabled view greys out and stops accepting focus / selection / keyboard input (arena-gated).
Sourcepub fn sizing(self, sizing: impl Into<Prop<GridSizing>>) -> Self
pub fn sizing(self, sizing: impl Into<Prop<GridSizing>>) -> Self
Set the tile sizing / column-count policy.
Accepts a plain GridSizing (static) or a Signal<GridSizing>
(reactive). A bound signal is observed at [BindingLevel::Rebuild]: when
it changes, build() rebuilds the cached layout strategy and reflows —
the internal scroll_y / focused_index / selection are field signals on
the same widget instance, so they survive the rebuild (no scroll jump).
This is the card-size-slider path; mirrors
TabWidget::sizing.
Sourcepub fn tile_size(self, width: f32, height: f32) -> Self
pub fn tile_size(self, width: f32, height: f32) -> Self
Sugar for GridSizing::Fixed — every tile is exactly width × height.
Sourcepub fn column_count(self, count: usize, tile_height: f32) -> Self
pub fn column_count(self, count: usize, tile_height: f32) -> Self
Sugar for GridSizing::FixedColumnCount — exactly count columns.
Sourcepub fn variable_row_heights(self, estimated: f32) -> Self
pub fn variable_row_heights(self, estimated: f32) -> Self
Switch to variable row heights: each row is sized to its tallest
tile (SwiftUI LazyVGrid semantics). estimated seeds rows that
haven’t been measured yet; the scroll position is anchored when an
estimate is later corrected. Combine with
item_height for exact heights.
Sourcepub fn item_height(self, f: impl Fn(usize) -> f32 + 'static) -> Self
pub fn item_height(self, f: impl Fn(usize) -> f32 + 'static) -> Self
Supply an exact per-item natural height. Width-independent, so it
doesn’t depend on the runtime column count: VariableRowGrid sizes
each row to max(item_height(i)) over its items. Implies variable row
heights, gives an exact scrollbar, and removes anchoring jitter.
Sourcepub fn waterfall(self, estimated: f32) -> Self
pub fn waterfall(self, estimated: f32) -> Self
Switch to a Pinterest-style waterfall: per-item variable heights flow
into the currently-shortest column. Column count comes from the
configured sizing; heights are auto-measured (or
exact via item_height). estimated seeds
unmeasured items.
Sourcepub fn column_spacing(self, spacing: f32) -> Self
pub fn column_spacing(self, spacing: f32) -> Self
Horizontal gap between tiles (default 8).
Sourcepub fn row_spacing(self, spacing: f32) -> Self
pub fn row_spacing(self, spacing: f32) -> Self
Vertical gap between tile rows (default 8).
Sourcepub fn content_inset(self, inset: EdgeInsets) -> Self
pub fn content_inset(self, inset: EdgeInsets) -> Self
Inset from the scroll-content edge to the tiles.
Sourcepub fn selection(self, sel: SelectionModel) -> Self
pub fn selection(self, sel: SelectionModel) -> Self
Set the selection model (modes None / Single / Multi).
Sourcepub fn on_selection_changed(
self,
f: impl Fn(&BTreeSet<usize>) + 'static,
) -> Self
pub fn on_selection_changed( self, f: impl Fn(&BTreeSet<usize>) + 'static, ) -> Self
Called whenever the selection set changes — including programmatic changes — with the new set of selected indices.
Sourcepub fn marquee_selection(self, enabled: bool) -> Self
pub fn marquee_selection(self, enabled: bool) -> Self
Enable / disable rubber-band marquee selection (default enabled; only
active when the selection model is in Multi mode).
Whether arrow navigation wraps across row/grid edges (default false).
Sourcepub fn tab_traversal(self, traversal: GridTabTraversal) -> Self
pub fn tab_traversal(self, traversal: GridTabTraversal) -> Self
How Tab moves out of (or within) the grid (default OutOfGrid).
Sourcepub fn show_scrollbar(self, show: bool) -> Self
pub fn show_scrollbar(self, show: bool) -> Self
Suppress the internal scrollbar (mount your own via the signal accessors so it survives rebuilds).
Sourcepub fn overscroll_behavior(self, behavior: OverscrollBehavior) -> Self
pub fn overscroll_behavior(self, behavior: OverscrollBehavior) -> Self
Scroll-chaining behavior at the boundary (default Chain).
Sourcepub fn smooth_scrolling(self, enabled: bool) -> Self
pub fn smooth_scrolling(self, enabled: bool) -> Self
Enable or disable animated wheel scrolling (enabled by default).
Sourcepub fn smooth_scroll_duration(self, duration: Duration) -> Self
pub fn smooth_scroll_duration(self, duration: Duration) -> Self
Duration of the smooth scroll animation (default 150 ms).
Sourcepub fn scroll_bar_style(self, style: ScrollBarMode) -> Self
pub fn scroll_bar_style(self, style: ScrollBarMode) -> Self
How the scroll bar is displayed (default Permanent). Overlay
and Thin float the bar over the content instead of reserving a
layout column, mirroring ScrollArea::scroll_bar_style.
Sourcepub fn scroll_y_signal(&self) -> &Signal<f32>
pub fn scroll_y_signal(&self) -> &Signal<f32>
The vertical scroll offset signal.
Sourcepub fn max_scroll_y_signal(&self) -> &Signal<f32>
pub fn max_scroll_y_signal(&self) -> &Signal<f32>
The maximum scroll offset signal (content_height - viewport_height).
Sourcepub fn viewport_ratio_y_signal(&self) -> &Signal<f32>
pub fn viewport_ratio_y_signal(&self) -> &Signal<f32>
The vertical viewport-to-content ratio signal (drives the thumb size).
Sourcepub fn ensure_index_visible(&self, index: usize, anchor: ScrollAnchor)
pub fn ensure_index_visible(&self, index: usize, anchor: ScrollAnchor)
Scroll the minimum distance to bring index into view per anchor.
Sourcepub fn scroll_to_index(&self, index: usize, anchor: ScrollAnchor)
pub fn scroll_to_index(&self, index: usize, anchor: ScrollAnchor)
Scroll to index, forcing the viewport position per anchor
(Auto behaves like ensure_index_visible).
Sourcepub fn sections<P: SectionProvider>(self, provider: P) -> Self
pub fn sections<P: SectionProvider>(self, provider: P) -> Self
Group the flat model into sections, rendering a header above each section’s tile band. Sections compose with the uniform tile layout.
Sourcepub fn section_header_delegate(
self,
f: impl Fn(usize, &str) -> Box<dyn Widget> + 'static,
) -> Self
pub fn section_header_delegate( self, f: impl Fn(usize, &str) -> Box<dyn Widget> + 'static, ) -> Self
Custom section-header widget builder (section_index, title). Without
it a default bold-text header is used.
Sourcepub fn section_header_height(self, height: f32) -> Self
pub fn section_header_height(self, height: f32) -> Self
Height of each section header row (default 28).
Sourcepub fn pinned_section_headers(self, enabled: bool) -> Self
pub fn pinned_section_headers(self, enabled: bool) -> Self
Keep the current section’s header pinned to the top while scrolling
through it (SwiftUI pinnedViews:[.sectionHeaders]).
Sourcepub fn a11y_label(self, label: impl Into<String>) -> Self
pub fn a11y_label(self, label: impl Into<String>) -> Self
Accessible label for the grid container.
Sourcepub fn style(self, style: impl GridViewStyle) -> Self
pub fn style(self, style: impl GridViewStyle) -> Self
Per-call Tier-3 decoration style override (focus ring, marquee,
insertion bar, pinned-header surface). Precedence: this override →
theme.style_slots.grid_view → the stock RecipeGridViewStyle.
Sourcepub fn empty_view(self, f: impl Fn() -> Box<dyn Widget> + 'static) -> Self
pub fn empty_view(self, f: impl Fn() -> Box<dyn Widget> + 'static) -> Self
Widget shown when the model is empty.
Sourcepub fn loading_view(self, f: impl Fn() -> Box<dyn Widget> + 'static) -> Self
pub fn loading_view(self, f: impl Fn() -> Box<dyn Widget> + 'static) -> Self
Widget overlaid while is_loading reads true.
Sourcepub fn is_loading(self, flag: impl Into<Prop<bool>>) -> Self
pub fn is_loading(self, flag: impl Into<Prop<bool>>) -> Self
Reactive loading flag; when true the loading_view
is shown above the grid.
Sourcepub fn reorderable(self, enabled: bool) -> Self
pub fn reorderable(self, enabled: bool) -> Self
Enable intra-grid drag reordering (and keyboard Alt+Arrow). The move is
routed through the source’s accept_drop (a built-in ListModel
reorders via move_item; an external source applies its own command).
Sourcepub fn exportable(self, mode: DragTransferMode) -> Selfwhere
T: Clone,
pub fn exportable(self, mode: DragTransferMode) -> Selfwhere
T: Clone,
Make tiles droppable outside this view — on a
DropTarget, another data view, or the OS.
A dragged tile (or the whole selection, when the pressed tile is part of
a multi-selection) carries clones of its items in a public
RowDragData<T>, so a foreign receiver can pull
them out with payload.get_typed::<RowDragData<T>>() /
DropTarget::on_drop_typed::<RowDragData<T>>() — no serialization. This
also makes tiles a drag source even without reorderable.
mode chooses what happens to the origin rows once a foreign target
accepts them: DragTransferMode::Move removes them (via the source’s
on_drag_out, or on_rows_transferred_out),
DragTransferMode::Copy leaves them. A same-view reorder is never a
transfer, so mode never affects it. Requires T: Clone.
Sourcepub fn export_external(
self,
f: impl Fn(&[T]) -> Vec<(String, Vec<u8>)> + 'static,
) -> Selfwhere
T: Clone,
pub fn export_external(
self,
f: impl Fn(&[T]) -> Vec<(String, Vec<u8>)> + 'static,
) -> Selfwhere
T: Clone,
Additionally advertise the dragged tiles as MIME data so they can be
dropped on a DropZone or exported to another
application / window via the OS. f maps the dragged items to
(mime_type, bytes) pairs (e.g. text/plain, text/uri-list, an
app-specific application/x-…). Implies exportable
(defaulting to DragTransferMode::Move if not already set). Requires
T: Clone.
Sourcepub fn on_rows_transferred_out(
self,
f: impl Fn(&[usize], &mut EventContext<'_>) + 'static,
) -> Self
pub fn on_rows_transferred_out( self, f: impl Fn(&[usize], &mut EventContext<'_>) + 'static, ) -> Self
Override how rows moved out to a foreign target are removed from this
view. Receives the dragged rows’ indices (descending-safe) and the live
context. Without this, an exportable
Move drag removes them through the source’s
on_drag_out (works out of the box for a ListModel).
Sourcepub fn accept_foreign_rows(self, accept: bool) -> Self
pub fn accept_foreign_rows(self, accept: bool) -> Self
Accept exported rows dropped from a different view or source without
writing a custom ListDataSource. Pair with
on_rows_received, which is handed the dropped
items and the insertion index. (Same-view reorder is
reorderable; a custom ListDataSource can still
accept foreign drops through its can_accept/accept_drop instead.)
Sourcepub fn on_rows_received(
self,
f: impl Fn(Vec<T>, usize, &mut EventContext<'_>) + 'static,
) -> Self
pub fn on_rows_received( self, f: impl Fn(Vec<T>, usize, &mut EventContext<'_>) + 'static, ) -> Self
Handler for rows accepted via accept_foreign_rows:
(items, insertion_index, ctx). Insert them into your model at the
index.
Sourcepub fn on_item_drop(
self,
f: impl Fn(DragPayload, usize, &mut EventContext<'_>) -> bool + 'static,
) -> Self
pub fn on_item_drop( self, f: impl Fn(DragPayload, usize, &mut EventContext<'_>) -> bool + 'static, ) -> Self
Accept external drops at a flat insertion index. Returns true when
the drop is accepted.
Sourcepub fn on_tile_activate(
self,
f: impl Fn(usize, &mut EventContext<'_>) + 'static,
) -> Self
pub fn on_tile_activate( self, f: impl Fn(usize, &mut EventContext<'_>) + 'static, ) -> Self
Called when a tile is activated (a click per activate_on,
or Enter on the focused tile) — the “open / default action”, distinct
from selection.
Sourcepub fn activate_on(self, mode: ActivateOn) -> Self
pub fn activate_on(self, mode: ActivateOn) -> Self
Choose single- vs double-click tile activation (default
ActivateOn::DoubleClick). Enter activates in either
mode.
Per-tile context-menu factory: (index, pointer_position, ctx) →
optional menu widget.
Sourcepub fn type_ahead_label(self, f: impl Fn(usize) -> String + 'static) -> Self
pub fn type_ahead_label(self, f: impl Fn(usize) -> String + 'static) -> Self
Supply a per-item label for type-ahead navigation (typing letters jumps to the first matching item). Required to enable type-ahead.
Sourcepub fn tile_a11y_label(self, f: impl Fn(usize) -> String + 'static) -> Self
pub fn tile_a11y_label(self, f: impl Fn(usize) -> String + 'static) -> Self
Supply a per-item accessible name applied to each tile’s GridCell
(Node::label), so a screen reader announces a concise item name in
addition to the row/column position. Without it, the cell’s name is left
to its contents.
Sourcepub fn type_ahead_timeout(self, timeout: Duration) -> Self
pub fn type_ahead_timeout(self, timeout: Duration) -> Self
Type-ahead reset timeout (default 500 ms; ZERO disables).
Trait Implementations§
Source§impl<T: 'static> Widget for GridView<T>
impl<T: 'static> Widget for GridView<T>
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)
Source§fn as_any(&self) -> Option<&dyn Any>
fn as_any(&self) -> Option<&dyn Any>
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.Source§fn clips_children(&self) -> bool
fn clips_children(&self) -> bool
§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_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 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<T> !Freeze for GridView<T>
impl<T> !RefUnwindSafe for GridView<T>
impl<T> !Send for GridView<T>
impl<T> !Sync for GridView<T>
impl<T> !UnwindSafe for GridView<T>
impl<T> Unpin for GridView<T>
impl<T> UnsafeUnpin for GridView<T>
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].