pub struct Button { /* private fields */ }Expand description
A labelled action trigger; use Button::new and chain builder methods.
Implementations§
Source§impl Button
impl Button
Sourcepub fn new(label: impl Into<LocalizedString>) -> Self
pub fn new(label: impl Into<LocalizedString>) -> Self
Construct a button from a LocalizedString label. The label may
come from tr!(...) (translated) or lit!(...)
(explicit non-translated). When an I18nManager is installed, a
tr!(...) label becomes a Prop::Bound that observes the locale
version signal, so the inner TextWidget re-renders on a locale
switch without rebuilding the Button — matching TextWidget::new.
lit!(...) and the no-manager case resolve to a static String.
Sourcepub fn current_variant(&self) -> ButtonVariant
pub fn current_variant(&self) -> ButtonVariant
Returns the configured visual variant. Used by wrappers like
PopoverButton that
derive their own chrome colors from the same recipe-resolution
path the inner Button uses.
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
PopoverButton whose
disclosure caret needs to match the label’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 variant(self, variant: ButtonVariant) -> Self
pub fn variant(self, variant: ButtonVariant) -> Self
Set the Tier-1 design-language variant. The active
[ButtonStyle] decides whether to honour or remap it (the IntUI
default RecipeButtonStyle collapses Destructive → Filled,
Tinted/Outlined → Plain, Link → Ghost).
Sourcepub fn style(self, style: impl ButtonStyle) -> Self
pub fn style(self, style: impl ButtonStyle) -> Self
Override the active [ButtonStyle] for this widget instance
only. Useful for one-off custom-painted buttons (glassmorphism
CTA, Material-3 ripple, etc.) without forking the Button.
Sourcepub fn label(self, label: impl Into<Prop<String>>) -> Self
pub fn label(self, label: impl Into<Prop<String>>) -> Self
Bind the button’s label to a reactive source — replaces the
static label captured at new(...). Accepts any
impl Into<Prop<String>>: a Signal<String> for live
updates, or a plain String (which is the same as constructing
the button with that string). Mirrors
TextWidget::text.
The inner label TextWidget is built with the bound prop, so
the visible text refreshes without rebuilding the Button. The
AT node’s set_name reads the current value via Prop::get.
Translation note: derive the signal with
state.map(|s| tr!(status_label(value = s)).resolve_now()) for translated
reactive labels — Button only sees the resolved String.
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. Use ctx.send_intent(...) to
route activation through the Action/Intent system, or inline
the behavior directly.
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.
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 text supports inline markup
([label](url), *italic*, **bold**) and the entry’s
shortcut / long-form “more” fields are rendered automatically.
Overrides any previously set plain .tooltip(...) text.
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 in the central
catalog. Overrides any previously set plain .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 (Crusader Kings 3 style: tabbed sections, charts,
progress bars, conditional rows). Promotes to a focusable
Role::Dialog after the user dwells for the standard
promotion threshold. Overrides any plain or rich tooltip
previously set on this button.
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 content (the framework’s
PaintContext::effective_enabled propagates through to the
label/icon leaves). Forwarded into the arena via
ctx.enabled_when(self_id, self.enabled.clone()) at build time —
a bound signal updates live as it changes.
Sourcepub fn text_role(self, role: impl Into<ColorProp>) -> Self
pub fn text_role(self, role: impl Into<ColorProp>) -> Self
Override the label and icon’s tint with a static ColorProp.
When set, the button ignores its style and the auto-derived
idle/hover/press text-role cascade — both the label text and
any icon are 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 overflow-dropdown triggers that must
match the strip’s idle_text_role regardless of hover state).
Accepts Color, TextRole, Signal<Color>, or Signal<TextRole>.
Sourcepub fn text_style(self, style: impl Into<TextStyleProp>) -> Self
pub fn text_style(self, style: impl Into<TextStyleProp>) -> Self
Override the label’s text style (font, size, weight). By default the
label uses the inner TextWidget’s default style; pass a
TextStyleRole (e.g. TextStyleRole::BodyBold), a TextStyle, or a
Signal of either to change it — e.g. to make the label bold.
Orthogonal to Button::text_role, which only sets the color.
Sourcepub fn icon(self, icon: IconWidget, location: IconLocation) -> Self
pub fn icon(self, icon: IconWidget, location: IconLocation) -> Self
Add an icon to the button at the specified location.
Sourcepub fn icon_keeps_color(self) -> Self
pub fn icon_keeps_color(self) -> Self
Keep the icon’s own colour instead of tinting it to the label’s.
The mirror of MenuItem::icon_keeps_color,
and it exists for the same reason: an icon whose colour is the information.
A filter chip carrying a user-chosen tag colour, a legend swatch, a status
disc — tinting those to the label’s foreground destroys the one thing they
carry, while tinting is exactly right for a glyph that merely repeats the
label.
Two consequences worth knowing, both inherited from
ColorProp’s own rules rather than
special-cased here:
- The colour must clear contrast against every fill the button takes — an accent-filled selected state as well as the resting surface.
- A literal colour does not dim when the button is disabled. An icon that should dim wants a role instead, and then it does not need this.
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, tree, grid). Surfaced via
set_has_popup in the a11y node so screen readers announce
it as leading into the named popup kind.
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 / Dialog wrapper owns the
signal and flips it on show / dismiss; Button reads it in
accessibility() to publish set_expanded. Only
meaningful alongside .has_popup(...).
Sourcepub fn leading(self, widget: impl Widget + 'static) -> Self
pub fn leading(self, widget: impl Widget + 'static) -> Self
Insert a widget at the leading edge of the button’s content
(left in LTR, right in RTL). Composes with .icon(...): the
final order is [leading_slot, icon+label, trailing_slot],
separated by btn::BUTTON_ICON_LABEL_GAP. Single-slot —
calling .leading(...) again replaces the previous slot.
Stack multiple widgets with an explicit HStack.
The slot widget paints itself and emits its own a11y. Button
does not retint it (so e.g. a ColorSwatch keeps its own
color through every interaction state). If the slot widget
declares an AT role of its own — ColorSwatch is the canonical
case (Role::ColorWell) — pass widget.access_hidden(true)
so the trigger reads as a single Button node instead of a
Button containing a redundant ColorWell child.
Trait Implementations§
Source§impl PopoverTrigger for Button
impl PopoverTrigger for Button
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 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§fn suppress_caret(&self) -> bool
fn suppress_caret(&self) -> bool
IconButton at Compact has no room).
Default: never suppressed.Source§impl Widget for Button
impl Widget for Button
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 Button
impl !Send for Button
impl !Sync for Button
impl !UnwindSafe for Button
impl Freeze for Button
impl Unpin for Button
impl UnsafeUnpin for Button
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].