pub struct IconButton { /* private fields */ }Expand description
A square, icon-only, flat-surface button. See module docs for embedded vs stand-alone modes, the five sizes, and the two bistate toggle modes.
Implementations§
Source§impl IconButton
impl IconButton
Sourcepub fn new(icon: IconWidget) -> Self
pub fn new(icon: IconWidget) -> Self
Create an icon button from a custom icon. Defaults to
IconButtonSize::Default (24 dp) and stand-alone visual mode.
Apply .embedded() for the JetBrains “built-in” dim look,
and one of the size methods (.large() / .toolbar() /
.hero()) or .size(...) to pick a different size.
Sourcepub fn style(self, style: impl IconButtonStyle) -> Self
pub fn style(self, style: impl IconButtonStyle) -> Self
Per-call style override. Replaces the theme-wide default
IconButtonStyle for just this IconButton instance — same role
as Button::style(...). The override fully owns the background +
border + size composition; icon coloring stays on the widget.
Per-call style override from an already-shared
[SharedIconButtonStyle] (Rc<dyn IconButtonStyle>). Same effect as
style but takes the erased handle directly, so a host
(e.g. a Toolbar applying one style to all its icon buttons) can share a
single Rc instead of cloning a concrete style per button.
Sourcepub fn size_variant(&self) -> IconButtonSize
pub fn size_variant(&self) -> IconButtonSize
Returns the configured size variant. Used by wrappers like
PopoverIconButton
that need to reason about the trigger’s footprint at build time
(e.g. to skip a corner decoration that wouldn’t fit at Compact).
Sourcepub fn is_embedded(&self) -> bool
pub fn is_embedded(&self) -> bool
Returns whether the button is in the JetBrains “built-in” /
embedded color profile (Secondary at rest). Mirror getter to
size_variant for wrappers that want to
derive their own chrome colors from the same icon role.
Bind the button’s internal interaction state to a caller-owned
Signal<InteractionState> instead of letting build() allocate
its own. Used by wrapper widgets like
PopoverIconButton
whose disclosure caret needs to match the icon’s color across
hover / press / focus / disabled states.
The provided signal is reset to Disabled when enabled == false
during build() so the shared signal honors the button’s
enabled state without the caller having to seed it.
Sourcepub fn embedded(self) -> Self
pub fn embedded(self) -> Self
Opt into the embedded visual treatment — the JetBrains
“built-in button” look. Icon dims to Secondary at rest,
brightens to Primary on hover, flashes Accent on press —
designed to live inside another widget’s trailing slot
(TextInput’s clear-X, ComboBox’s chevron) without competing
visually with the host’s content. Default mode is stand-alone
(icon at full visual weight, Primary always).
Sourcepub fn icon_role(self, role: impl Into<ColorProp>) -> Self
pub fn icon_role(self, role: impl Into<ColorProp>) -> Self
Override the icon’s tint with a static ColorProp. When set,
the icon ignores embedded and the auto-derived idle/hover/press
role cascade — its color is bound directly to this prop instead.
Use for chrome whose host enforces a single text role across all
of its sub-widgets (e.g. tab-bar scroll arrows that must match
the tab strip’s idle_text_role regardless of hover state).
Accepts Color, TextRole, Signal<Color>, or Signal<TextRole>.
It replaces the interaction cascade (idle / hover / press / focus),
not the disabled substitution: a role passed here still resolves to
[TextRole::Disabled] in a disabled subtree, like every other
role-derived color (see ColorProp::resolve).
That is what a disabled
control should look like. When the tint is semantic state that stays
true even though the button can’t be pressed — a save/sync indicator, a
validation badge — wrap it: .icon_role(ColorProp::undimmed(role)).
Sourcepub fn focusable(self, on: bool) -> Self
pub fn focusable(self, on: bool) -> Self
Whether the button takes keyboard focus. Default true —
the button is focusable when enabled. Set to false for
embedded-control patterns where the parent owns focus and
keyboard interaction goes through the parent (e.g. the
close button inside a tab header — Tab moves between tabs,
not onto their close buttons).
Sourcepub fn tooltip(self, text: impl Into<LocalizedString>) -> Self
pub fn tooltip(self, text: impl Into<LocalizedString>) -> Self
Attach a tooltip that appears after a hover delay. Required — the tooltip text doubles as the AT name for icon-only buttons.
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. See Button::rich_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.
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. See Button::composite_tooltip.
Sourcepub fn composite_tooltip_boxed(self, content: Box<dyn Widget>) -> Self
pub fn composite_tooltip_boxed(self, content: Box<dyn Widget>) -> Self
Attach a composite tooltip from an already-boxed widget — the boxed twin
of composite_tooltip, for hosts that build
the body via a Fn() -> Box<dyn Widget> factory (e.g. a ToolbarAction).
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. Disabled
buttons ignore input and dim their icon (handled by the
framework’s PaintContext::effective_enabled). Forwarded into
the arena via ctx.enabled_when(self_id, self.enabled.clone())
at build time — a bound signal updates live as it changes.
For a reactive enabled state — e.g. a toolbar button that
enables only when the caret is inside a table — pass a
Signal<bool> here, or call ctx.enabled_when(button_id, my_signal) from the composing widget’s build() instead of
(or in addition to) this builder. Both routes write to the
same arena enabled_state; an external enabled_when
registered after this builder runs wins (last-write semantics)
and updates reactively from the signal.
Sourcepub fn size(self, size: IconButtonSize) -> Self
pub fn size(self, size: IconButtonSize) -> Self
Sourcepub fn toolbar(self) -> Self
pub fn toolbar(self) -> Self
Shortcut for .size(IconButtonSize::Toolbar) (30 dp) — the
IntelliJ side-toolbar density (left / right / top window edges).
Sourcepub fn large(self) -> Self
pub fn large(self) -> Self
Shortcut for .size(IconButtonSize::Large) (40 dp) —
emphasized stand-alone buttons in rich menus and detail panes.
Sourcepub fn hero(self) -> Self
pub fn hero(self) -> Self
Shortcut for .size(IconButtonSize::Hero) (50 dp) — hero /
landing-screen CTAs.
Sourcepub fn on_activate_fn(self, f: impl Fn(&mut EventContext<'_>) + 'static) -> Self
pub fn on_activate_fn(self, f: impl Fn(&mut EventContext<'_>) + 'static) -> Self
Closure invoked on activation. Fires after the toggle signal (if any) is flipped, so apps observing the closure see the post-flip state.
Sourcepub fn toggle(self, state: Signal<bool>) -> Self
pub fn toggle(self, state: Signal<bool>) -> Self
Enable surface-tint bistate: clicking flips state and the
background reads as SurfaceRole::Selected while state == true.
The icon glyph is unchanged. Pin / select / lock-toggle pattern.
on_activate_fn, if any, still fires after the flip.
For the eye / eye-off pattern where the icon glyph also changes,
use toggle_with_icon instead.
Sourcepub fn toggle_with_icon(
self,
state: Signal<bool>,
toggled_icon: IconWidget,
) -> Self
pub fn toggle_with_icon( self, state: Signal<bool>, toggled_icon: IconWidget, ) -> Self
Enable surface-tint plus icon-swap bistate: clicking flips
state, the background flips to Selected, and the icon
swaps to toggled_icon. The visibility-toggle pattern (eye ↔
eye-off). For surface-only bistate (icon stays the same), use
toggle.
Sourcepub fn has_popup(self, kind: HasPopup) -> Self
pub fn has_popup(self, kind: HasPopup) -> Self
Declare that this button is a disclosure trigger for a popup
(menu, dialog, listbox, …). Surfaced via set_has_popup in
the a11y node so screen readers announce it as opening the
named popup kind. Wired automatically by
PopoverIconButton.
Sourcepub fn expanded_when(self, signal: impl Into<Prop<bool>>) -> Self
pub fn expanded_when(self, signal: impl Into<Prop<bool>>) -> Self
Bind a signal reporting whether this button’s popup is
currently visible. The popover wrapper owns the signal and
flips it on show / dismiss; IconButton reads it in
accessibility() to publish set_expanded. Only meaningful
alongside has_popup.
Sourcepub fn bell() -> Self
pub fn bell() -> Self
Notification bell. Used by
NotificationCenterButton
— the bell-icon trigger that opens the notification log popover.
Menu / hamburger button (three horizontal bars). Used by the
collapsible MenuBar as the
collapsed representation that reveals the bar when activated.
Advertises HasPopup::Menu for assistive technology.
Sourcepub fn more() -> Self
pub fn more() -> Self
“More actions” / overflow button — three vertical dots (the kebab
⋮). The conventional trigger for a per-item options menu (view-header
…, list-row overflow). Advertises HasPopup::Menu for assistive
technology. Pair with a PopoverIconButton + MenuList (use .bare()
so the menu isn’t wrapped in a second popover surface).
Sourcepub fn visibility_toggle(visible: Signal<bool>) -> Self
pub fn visibility_toggle(visible: Signal<bool>) -> Self
Visibility toggle (eye / eye-off). Toggles password visibility.
Uses the icon-swap bistate mode internally — the icon advertises
the expected action, matching the prevailing password-field
convention (1Password, Bitwarden, KeePass, Chrome, GitHub):
eye (open) while the value is hidden, suggesting “click to
reveal”; eye_off (closed) once revealed, suggesting “click to
hide”. set_toggled still reports the literal current state, so
AT readers are not misled.
For a current-state-instead semantics (icon shows what IS),
build your own with toggle_with_icon
and the eye glyphs in the opposite order.
The visible signal is flipped on each click. The host widget reads
it to decide whether to mask or show the text.
Trait Implementations§
Source§impl Debug for IconButton
impl Debug for IconButton
Source§impl PopoverTrigger for IconButton
impl PopoverTrigger for IconButton
Source§fn default_has_popup() -> HasPopup
fn default_has_popup() -> HasPopup
has_popup kind announced by AT when the caller doesn’t
override it. Button → [HasPopup::Dialog]; IconButton →
[HasPopup::Menu].Source§fn default_show_caret() -> bool
fn default_show_caret() -> bool
Button →
false (text buttons advertise via an inline trailing chevron);
IconButton → true (icon-only triggers have no label slot).Source§fn suppress_caret(&self) -> bool
fn suppress_caret(&self) -> bool
IconButton at Compact has no room).
Default: never suppressed.Source§fn caret_role(&self, interaction: &Signal<InteractionState>) -> Signal<TextRole>
fn caret_role(&self, interaction: &Signal<InteractionState>) -> Signal<TextRole>
TextRole the disclosure caret tints with, derived from the
shared interaction signal so the caret and trigger tint together
across hover / press / focus / disabled. Only called when a caret
is shown.Source§fn with_has_popup(self, kind: HasPopup) -> Self
fn with_has_popup(self, kind: HasPopup) -> Self
has_popup kind for AT.Source§fn with_expanded_when(self, open: Signal<bool>) -> Self
fn with_expanded_when(self, open: Signal<bool>) -> Self
set_expanded disclosure state to open.Source§fn with_on_activate(self, f: impl Fn(&mut EventContext<'_>) + 'static) -> Self
fn with_on_activate(self, f: impl Fn(&mut EventContext<'_>) + 'static) -> Self
Source§fn has_on_activate(&self) -> bool
fn has_on_activate(&self) -> bool
true if the trigger already has an activate handler set by
the caller — the wrapper replaces it and will warn at build time.Source§impl Widget for IconButton
impl Widget for IconButton
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 IconButton
impl !Send for IconButton
impl !Sync for IconButton
impl !UnwindSafe for IconButton
impl Freeze for IconButton
impl Unpin for IconButton
impl UnsafeUnpin for IconButton
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].