Skip to main content

IconButton

Struct IconButton 

Source
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

Source

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.

Source

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.

Source

pub fn style_shared(self, style: SharedIconButtonStyle) -> Self

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.

Source

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).

Source

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.

Source

pub fn share_interaction(self, signal: Signal<InteractionState>) -> Self

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.

Source

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).

Source

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)).

Source

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).

Source

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.

Source

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.

Source

pub fn rich_tooltip_content(self, content: TooltipContent) -> Self

Attach a rich tooltip driven by inline TooltipContent.

Source

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.

Source

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).

Source

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.

Source

pub fn size(self, size: IconButtonSize) -> Self

Set the size variant. Most callers prefer the named shortcuts large / toolbar / hero; use .size(...) for Compact or for programmatic size selection.

Source

pub fn toolbar(self) -> Self

Shortcut for .size(IconButtonSize::Toolbar) (30 dp) — the IntelliJ side-toolbar density (left / right / top window edges).

Source

pub fn large(self) -> Self

Shortcut for .size(IconButtonSize::Large) (40 dp) — emphasized stand-alone buttons in rich menus and detail panes.

Source

pub fn hero(self) -> Self

Shortcut for .size(IconButtonSize::Hero) (50 dp) — hero / landing-screen CTAs.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

pub fn browse() -> Self

Browse button (ellipsis icon). Opens a file/directory chooser.

Source

pub fn expand() -> Self

Expand button (diagonal resize arrows). Enlarges a constrained field.

Source

pub fn search() -> Self

Search button (magnifier icon). Triggers a search.

Source

pub fn copy() -> Self

Copy button (clipboard icon). Copies the field content.

Source

pub fn clear() -> Self

Clear button (X icon). Clears the field content.

Source

pub fn add() -> Self

Add button (plus icon). Adds a new entry.

Source

pub fn bell() -> Self

Notification bell. Used by NotificationCenterButton — the bell-icon trigger that opens the notification log popover.

Source

pub fn menu() -> Self

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.

Source

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).

Source

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

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PopoverTrigger for IconButton

Source§

fn default_has_popup() -> HasPopup

The 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

Whether the disclosure caret is painted by default. Buttonfalse (text buttons advertise via an inline trailing chevron); IconButtontrue (icon-only triggers have no label slot).
Source§

fn suppress_caret(&self) -> bool

Whether the caret must be suppressed for this trigger regardless of the flag (e.g. IconButton at Compact has no room). Default: never suppressed.
Source§

fn caret_role(&self, interaction: &Signal<InteractionState>) -> Signal<TextRole>

The 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_shared_interaction(self, signal: Signal<InteractionState>) -> Self

Share an externally-allocated interaction signal so the caret colour tracks the trigger’s state (hover / press / focus / disabled) exactly.
Source§

fn with_has_popup(self, kind: HasPopup) -> Self

Annotate the trigger with the given has_popup kind for AT.
Source§

fn with_expanded_when(self, open: Signal<bool>) -> Self

Bind the trigger’s set_expanded disclosure state to open.
Source§

fn with_on_activate(self, f: impl Fn(&mut EventContext<'_>) + 'static) -> Self

Install the popover’s open/close handler as the trigger’s activate callback.
Source§

fn has_on_activate(&self) -> bool

Return 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

Source§

fn build(&mut self, ctx: &mut BuildContext<'_>) -> Vec<WidgetId>

Compose child widgets. Called once after the widget is placed in the arena, and again on environment change (theme switch, locale switch). Takes &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

Respond to the parent’s size proposal with this widget’s wanted size, grow/shrink weights, and compression floor (see [LayoutResponse]). Read more
Source§

fn place_children( &self, bounds: Rect, _proposal: SizeProposal, children: &mut [WidgetPlacement], _ctx: &LayoutContext<'_>, )

Position children within the allocated bounds. Read more
Source§

fn accessibility(&self, builder: &mut AccessNodeBuilder)

Declare this widget’s accessibility identity.
Source§

fn children(&self) -> Vec<WidgetId>

Return the child widget IDs that this widget manages.
§

fn type_name(&self) -> &'static str

Concrete type name of this widget (e.g. "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

Whether this widget’s 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<'_>)

Draw the widget’s visual representation.
§

fn wants_after_paint(&self) -> bool

Whether this widget wants its 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<'_>)

Called once per frame after this widget’s subtree has finished painting. Receives a read-only view of the layout-resolved arena so a parent can read its descendants’ final bounds — e.g. 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

Whether this widget wants its 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<'_>, )

Draw a foreground layer over this widget’s children. Read more
§

fn wants_descendant_redirects(&self) -> bool

Whether this widget wants the AT walker to consult its 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>

Optional redirection hook for AT-tree placement of a child. Read more
§

fn accessible_title_hint(&self) -> Option<String>

Suggest an accessible title to an enclosing container that wraps this widget as content — typically a modal / dialog shell that wants to propagate the inner content’s visible title as the shell’s own accessible name. Read more
§

fn initial_focus_hint(&self) -> Option<WidgetId>

Optional hint that directs initial focus to a specific descendant when this widget is the root of a deferred-built modal surface. Read more
§

fn accessibility_children(&self) -> Option<Vec<WidgetId>>

Optional override for the child ORDER presented to assistive technology, when it must differ from the paint / z-order child order returned by children. Read more
§

fn as_any(&self) -> Option<&(dyn Any + 'static)>

Downcast hook. Default implementation returns 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)>

Mutable counterpart of 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

Whether this widget clips its children to its bounds.
§

fn focus_reveal_rect(&self, _bounds: Rect) -> Option<Rect>

The rectangle (in absolute tree coordinates) that best represents this widget when the framework reveals it into an ancestor scroll area on focus gain. Returning 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

Whether the point lies inside this widget’s actual shape, not just its rectangular bounds. Consulted by hit-testing right after the bounds check: returning 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

How rebuild_single_widget treats this widget’s existing children when re-running its build(). Read more
§

fn tooltip_has_content(&self) -> bool

Whether this widget, used as tooltip content, currently has anything worth showing. Read more
§

fn declare_shortcuts(&self) -> Vec<Shortcut>

Declare the rebindable keyboard shortcuts this widget exposes, without installing handlers. The framework calls this at arena insertion time (before 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>

Extract attached handler set from a WidgetWithHandlers wrapper. Called during arena insertion to transfer handlers to the WidgetNode. Default: returns None (no attached handlers).

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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>

Convert 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)

Convert &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)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 W
where W: Widget + 'static,

§

fn into_pending(self) -> PendingChild

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

§

impl<W> WidgetBuilder for W
where 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>

§

fn accept_tap_buttons( self, mask: impl Into<ButtonMask>, ) -> WidgetWithHandlers<Self>

Restrict (or extend) the set of pointer buttons that fire on_tap. Default is [ButtonMask::PRIMARY].
§

fn accept_double_tap_buttons( self, mask: impl Into<ButtonMask>, ) -> WidgetWithHandlers<Self>

Restrict (or extend) the set of pointer buttons that fire on_double_tap. Default [ButtonMask::PRIMARY].
§

fn accept_triple_tap_buttons( self, mask: impl Into<ButtonMask>, ) -> WidgetWithHandlers<Self>

Restrict (or extend) the set of pointer buttons that fire on_triple_tap. Default [ButtonMask::PRIMARY].
§

fn accept_long_press_buttons( self, mask: impl Into<ButtonMask>, ) -> WidgetWithHandlers<Self>

Restrict (or extend) the set of pointer buttons that fire on_long_press. Default [ButtonMask::PRIMARY].
§

fn dim_when_inactive(self, factor: f32) -> DimWhenInactive

Dim this widget’s subtree to 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

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>

Strict-ancestor key preview. See [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>

Declare this node a text-input surface, enabling the OS input method (with ctx’s purpose) while it is focused. See [crate::ime].
§

fn event_pass_through(self, pass_through: bool) -> WidgetWithHandlers<Self>

Make the widget invisible to pointer hit-testing. See [HandlerSet::event_pass_through].
§

fn gesture_dead_zone(self, dead_zone: bool) -> WidgetWithHandlers<Self>

Mark this widget’s subtree a gesture dead zone. See [HandlerSet::gesture_dead_zone].
§

fn keyboard_capture(self, capture: bool) -> WidgetWithHandlers<Self>

Mark this widget a keyboard capture surface (terminals, game viewports): while focused, KeyDowns bypass shortcut resolution. See [HandlerSet::keyboard_capture].
§

fn hit_transparent(self, transparent: bool) -> WidgetWithHandlers<Self>

Make this widget and its whole subtree invisible to pointer hit-testing (decorative overlays). See [HandlerSet::hit_transparent].
§

fn context_menu( self, factory: impl Fn(Point, &mut EventContext<'_>) -> Option<Box<dyn Widget>> + 'static, ) -> WidgetWithHandlers<Self>

Set a context-menu factory. See [HandlerSet::context_menu] for the full contract.
§

fn focus_within(self, signal: Signal<bool>) -> WidgetWithHandlers<Self>

Bind a Signal<bool> the framework writes when a strict descendant has focus. See [HandlerSet::focus_within].
§

fn hover_within(self, signal: Signal<bool>) -> WidgetWithHandlers<Self>

Bind a 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>

Bind this node’s visibility (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>

Set the drag-ended handler on a drag source. See [HandlerSet::on_drag_ended].
§

fn access_label( self, label: impl Into<Prop<String>>, ) -> WidgetWithHandlers<Self>

§

fn access_description( self, description: impl Into<Prop<String>>, ) -> WidgetWithHandlers<Self>

§

fn access_hint(self, hint: impl Into<Prop<String>>) -> WidgetWithHandlers<Self>

§

fn access_value( self, value: impl Into<Prop<String>>, ) -> WidgetWithHandlers<Self>

§

fn access_role(self, role: Role) -> WidgetWithHandlers<Self>

§

fn access_hidden( self, hidden: impl Into<Prop<bool>>, ) -> WidgetWithHandlers<Self>

§

fn access_disabled(self, disabled: bool) -> WidgetWithHandlers<Self>

§

fn access_identifier(self, id: impl Into<String>) -> WidgetWithHandlers<Self>

§

fn access_controls(self, target: WidgetId) -> WidgetWithHandlers<Self>

§

fn access_described_by(self, target: WidgetId) -> WidgetWithHandlers<Self>

§

fn access_labelled_by(self, target: WidgetId) -> WidgetWithHandlers<Self>

§

fn access_live(self, mode: Live) -> WidgetWithHandlers<Self>

§

fn access_current(self, current: AriaCurrent) -> WidgetWithHandlers<Self>

§

fn access_shortcut_literal( self, shortcut: impl Into<String>, ) -> WidgetWithHandlers<Self>

§

fn access_shortcut_id(self, id: impl Into<String>) -> WidgetWithHandlers<Self>

§

fn access_has_popup(self, kind: HasPopup) -> WidgetWithHandlers<Self>

§

fn access_orientation( self, orientation: Orientation, ) -> WidgetWithHandlers<Self>

§

fn access_exclude_subtree(self) -> WidgetWithHandlers<Self>

§

fn access_merge_subtree(self) -> WidgetWithHandlers<Self>

§

fn access_subtree(self, mode: AccessSubtreeMode) -> WidgetWithHandlers<Self>

§

fn access_numeric_value(self, value: f64) -> WidgetWithHandlers<Self>

§

fn access_numeric_range(self, min: f64, max: f64) -> WidgetWithHandlers<Self>

§

fn access_numeric_step(self, step: f64) -> WidgetWithHandlers<Self>

§

fn access_action<F>( self, action: Action, handler: F, ) -> WidgetWithHandlers<Self>
where F: FnMut(&mut EventContext<'_>) + 'static,

§

fn access_remove_action(self, action: Action) -> WidgetWithHandlers<Self>

§

fn access_custom_action<F>( self, label: impl Into<Prop<String>>, handler: F, ) -> WidgetWithHandlers<Self>
where F: FnMut(&mut EventContext<'_>) + 'static,

§

fn access_customize<F>(self, f: F) -> WidgetWithHandlers<Self>
where F: Fn(&mut AccessNodeBuilder) + 'static,

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more