pub struct ComboBox<T: Clone + PartialEq + 'static> { /* private fields */ }Expand description
A dropdown selection widget.
// Simple: list of strings.
let selected = ctx.signal(None::<String>);
ComboBox::new(["Apple", "Banana", "Cherry"], selected)
.placeholder(lit!("Select a fruit..."))
// Typed items: any T: Clone + PartialEq, plus a label extractor.
#[derive(Clone, PartialEq)] struct Fruit { name: String, emoji: &'static str }
let selected = ctx.signal(None::<Fruit>);
ComboBox::from_items(fruits, selected)
.item_label(|f: &Fruit| lit!(format!("{} {}", f.emoji, f.name)))
// Model-backed: reactive.
let model = ListModel::from_vec(fruits);
ComboBox::from_model(model, selected)
.item_label(|f: &Fruit| lit!(f.name.clone()))
.max_visible_items(6)Implementations§
Source§impl ComboBox<String>
impl ComboBox<String>
Sourcepub fn new(
items: impl IntoIterator<Item = impl Into<String>>,
selected: Signal<Option<String>>,
) -> Self
pub fn new( items: impl IntoIterator<Item = impl Into<String>>, selected: Signal<Option<String>>, ) -> Self
Create a ComboBox from a list of strings.
Accepts any impl Into<String> — string literals (&str),
owned Strings, resolved LocalizedStrings, etc. For
translated items, resolve translations before passing in,
e.g. vec![tr!(apple()).resolve_now(), ...].
Source§impl<T: Clone + PartialEq + 'static> ComboBox<T>
impl<T: Clone + PartialEq + 'static> ComboBox<T>
Sourcepub fn from_items<F>(
items: impl IntoIterator<Item = T>,
selected: Signal<Option<T>>,
item_label: F,
) -> Self
pub fn from_items<F>( items: impl IntoIterator<Item = T>, selected: Signal<Option<T>>, item_label: F, ) -> Self
Static list of typed items. item_label is the display extractor —
it’s required at construction so the compiler enforces it rather
than a runtime check. For T = String, use ComboBox::new which
defaults to the identity label.
Sourcepub fn from_model<F>(
model: ListModel<T>,
selected: Signal<Option<T>>,
item_label: F,
) -> Self
pub fn from_model<F>( model: ListModel<T>, selected: Signal<Option<T>>, item_label: F, ) -> Self
Backed by a reactive ListModel<T>. Inserts, removes, and reorders
propagate into the dropdown automatically. If the currently-selected
value disappears from the model, selected becomes None.
Sourcepub fn from_source<S, F>(
source: S,
selected: Signal<Option<T>>,
item_label: F,
) -> Self
pub fn from_source<S, F>( source: S, selected: Signal<Option<T>>, item_label: F, ) -> Self
Backed by a custom ListDataSource — for external or paged data.
Sourcepub fn item_label(self, f: impl Fn(&T) -> LocalizedString + 'static) -> Self
pub fn item_label(self, f: impl Fn(&T) -> LocalizedString + 'static) -> Self
Override the display-label extractor. Rarely needed — prefer passing
item_label to the constructor. Useful for the ComboBox<String>
path when you want a non-identity projection.
Sourcepub fn render_item(
self,
f: impl Fn(&T, bool) -> Box<dyn Widget> + 'static,
) -> Self
pub fn render_item( self, f: impl Fn(&T, bool) -> Box<dyn Widget> + 'static, ) -> Self
Custom cell rendering. The closure receives the item and a flag indicating whether it is the currently-selected value.
The framework wraps the returned widget with the correct
Role::ListBoxOption accessibility and tap handler, so callers
do not need to manage a11y or selection dispatch themselves.
Reactivity. The bool argument is a snapshot at build time.
If the selection flips after the dropdown is open, the user’s
subtree is not automatically re-rendered; the framework-managed
highlight background (behind the custom widget) does update, and
closing and re-opening the dropdown picks up the new state. If
you need a reactive appearance that tracks selection, close over
a Signal<Option<T>> in your closure and compare against the
item value inside a .map() / bind_* on primitives.
Accessibility. The wrapper’s set_name(label) (from
item_label) is what screen readers announce. If the returned
widget includes its own text nodes (e.g. a bare TextWidget), the
label may be announced twice — one from the wrapper, one from the
inner text. Wrap primary text nodes in .a11y_hidden() to avoid
duplication, and reserve visible widgets for presentation only.
Sourcepub fn render_selected(
self,
f: impl Fn(&T) -> Box<dyn Widget> + 'static,
) -> Self
pub fn render_selected( self, f: impl Fn(&T) -> Box<dyn Widget> + 'static, ) -> Self
Custom renderer for the trigger’s selected value — the widget shown
when the combo is closed. The parallel of render_item
for the trigger rather than the dropdown rows.
When set, the closed combo shows f(&value) for the current
selection instead of the plain text label (item_label). The
canonical use is a FontPicker rendering the selected family name in
its own typeface. The subtree is rebuilt whenever the selection
changes and whenever the locale changes (so a None-state
placeholder re-translates), without rebuilding the whole ComboBox.
Accessibility. The rendered subtree is excluded from the
accessibility tree — the ComboBox’s own accessibility(builder)
already announces the selected value via set_value, so the custom
visual can never double-announce. When nothing is selected the
trigger shows the placeholder text.
Sourcepub fn on_select(self, f: impl Fn(&T, &mut EventContext<'_>) + 'static) -> Self
pub fn on_select(self, f: impl Fn(&T, &mut EventContext<'_>) + 'static) -> Self
Register a callback fired when the user commits a selection — by
tapping a dropdown row or picking one with the keyboard (arrows /
type-ahead / Home / End). The callback receives the chosen value
and a live [EventContext], so it can run context-bearing actions
that observing the bound selected signal cannot — e.g.
ctx.set_locale(...), navigation, or opening another overlay.
It fires only on user-driven commits, not on external writes
to the selected signal (those are observed via ctx.effect).
The selected signal is updated before the callback runs.
Sourcepub fn max_visible_items(self, n: usize) -> Self
pub fn max_visible_items(self, n: usize) -> Self
Maximum number of items shown before the dropdown becomes scrollable. Defaults to 8. Clamped to at least 1.
Sourcepub fn type_ahead_timeout(self, d: Duration) -> Self
pub fn type_ahead_timeout(self, d: Duration) -> Self
Reset window for keyboard type-ahead. Keystrokes more than d apart
begin a fresh prefix; within d they extend it. Defaults to 500 ms,
matching MenuList::type_ahead_timeout. Pass Duration::ZERO to
treat each keystroke independently.
Sourcepub fn placeholder(self, text: impl Into<LocalizedString>) -> Self
pub fn placeholder(self, text: impl Into<LocalizedString>) -> Self
Placeholder text shown in the trigger when selected is None.
Accepts a tr!(...) directly (resolved at build); use
placeholder_literal for an
untranslated string.
Sourcepub fn label(self, label: impl Into<LocalizedString>) -> Self
pub fn label(self, label: impl Into<LocalizedString>) -> Self
Accessible label describing what this combo box is for (e.g. “Fruit”, “Font family”). Independent of the visible placeholder and of the current selection — screen readers announce this as the name of the control.
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. Forwarded to the arena at build time.
Sourcepub fn variant(self, variant: ComboBoxVariant) -> Self
pub fn variant(self, variant: ComboBoxVariant) -> Self
Pick a Tier-1 design-language variant
(ComboBoxVariant::Outlined / Filled / Underline / Plain).
The active [ComboBoxStyle] decides what to do with the hint —
IntUI’s default impl honours Outlined (default) and Plain;
a custom impl (Material 3, macOS, etc.) might paint differently.
Sourcepub fn style(self, style: impl ComboBoxStyle) -> Self
pub fn style(self, style: impl ComboBoxStyle) -> Self
Override the active [ComboBoxStyle] for this widget instance
only. The default IntUI chrome (crate::styles::RecipeComboBoxStyle)
reads its tokens from theme.components.combo_box; custom impls
can paint anything they want around the selected-label slot.
Sourcepub fn text_style(self, style: impl Into<TextStyleProp>) -> Self
pub fn text_style(self, style: impl Into<TextStyleProp>) -> Self
Override the selected-value text style (font, size, weight).
Accepts a TextStyleRole, a TextStyle, or a Signal of either.
Default (unset) is TextStyleRole::Body.
Sourcepub fn text_role(self, color: impl Into<ColorProp>) -> Self
pub fn text_role(self, color: impl Into<ColorProp>) -> Self
Override the selected-value 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 tooltip(self, text: impl Into<LocalizedString>) -> Self
pub fn tooltip(self, text: impl Into<LocalizedString>) -> Self
Attach a plain tooltip that appears after a hover delay. The tooltip is anchored to the trigger only — with the framework’s overlay-boundary gate it does not re-trigger while the pointer is over the open dropdown’s option rows.
Mutually exclusive with rich_tooltip /
rich_tooltip_content /
composite_tooltip — last call wins.
Sourcepub fn rich_tooltip(self, key: impl Into<String>) -> Self
pub fn rich_tooltip(self, key: impl Into<String>) -> Self
Attach a rich tooltip resolved from the app-wide tooltip registry.
The key is looked up via
TooltipRegistry at build
time; the resolved body supports inline markup, a shortcut chip,
and a “more” disclosure. Overrides any previously set tooltip.
Sourcepub fn rich_tooltip_content(self, content: TooltipContent) -> Self
pub fn rich_tooltip_content(self, content: TooltipContent) -> Self
Attach a rich tooltip driven by inline
TooltipContent — for one-off
tooltips that aren’t worth registering centrally. Overrides any
previously set tooltip.
Sourcepub fn composite_tooltip(self, content: impl Widget + 'static) -> Self
pub fn composite_tooltip(self, content: impl Widget + 'static) -> Self
Attach a composite tooltip — third tier, hosting an arbitrary
widget tree (tabbed sections, charts, conditional rows). Promotes
to a focusable Role::Dialog after the standard dwell. Overrides
any plain or rich tooltip previously set.
Source§impl<T: Clone + PartialEq + 'static> ComboBox<T>
Searchable-mode builders. The search field is a TextInput, which
shares the RichTextEditor engine and therefore the teksilo-text
dependency.
impl<T: Clone + PartialEq + 'static> ComboBox<T>
Searchable-mode builders. The search field is a TextInput, which
shares the RichTextEditor engine and therefore the teksilo-text
dependency.
Sourcepub fn searchable(self, enabled: bool) -> Self
pub fn searchable(self, enabled: bool) -> Self
Show a search field at the top of the dropdown panel and filter
the list live against the user’s query. When true, items are
matched by the closure passed to filter, or —
if no filter is set — by a case-insensitive substring match on
the item_label.
The search input becomes a child of the dropdown panel only, not of the trigger: the closed combo box looks identical whether searchable or not.
The query signal is created internally. Use
search_query to supply your own if you
want to observe or drive the query externally.
Sourcepub fn search_query(self, query: Signal<String>) -> Self
pub fn search_query(self, query: Signal<String>) -> Self
Bind the search field to an external Signal<String>. Implies
searchable(true). Useful for observing or
programmatically setting the query from outside the widget
(e.g. a “Clear” button, persistence across sessions).
Sourcepub fn filter(self, f: impl Fn(&str, &T) -> bool + 'static) -> Self
pub fn filter(self, f: impl Fn(&str, &T) -> bool + 'static) -> Self
Custom match predicate for searchable mode. Called on every
visible-item pass with the current query string (as typed, not
normalized) and a reference to the item; return true to keep
the item in the filtered list. Only consulted when
searchable is true. Ignored otherwise.
Trait Implementations§
Source§impl<T: Clone + PartialEq + 'static> Widget for ComboBox<T>
impl<T: Clone + PartialEq + 'static> Widget for ComboBox<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)
§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<T> !RefUnwindSafe for ComboBox<T>
impl<T> !Send for ComboBox<T>
impl<T> !Sync for ComboBox<T>
impl<T> !UnwindSafe for ComboBox<T>
impl<T> Freeze for ComboBox<T>
impl<T> Unpin for ComboBox<T>
impl<T> UnsafeUnpin for ComboBox<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].