pub struct ToolBoxItem { /* private fields */ }Expand description
One section of a ToolBox. Construct with ToolBoxItem::new and pass
to ToolBox::add, or use the convenience ToolBox::item /
ToolBox::item_id builders directly when leading / trailing slots
and tooltip are not needed.
Layout of the header row:
[indicator] [leading?] [label] [spacer] [trailing?] [chevron]Both leading and trailing accept any impl Widget — typical uses
are a small IconWidget, a Checkbox (checkable section), a
Badge (count), or a Button (per-row action).
Implementations§
Source§impl ToolBoxItem
impl ToolBoxItem
Sourcepub fn new(
label: impl Into<LocalizedString>,
content: impl Widget + 'static,
) -> Self
pub fn new( label: impl Into<LocalizedString>, content: impl Widget + 'static, ) -> Self
Build an item with an inline content widget. The label may come from
tr!(...) (translated) or lit!(...).
Sourcepub fn new_id(label: impl Into<LocalizedString>, content_id: WidgetId) -> Self
pub fn new_id(label: impl Into<LocalizedString>, content_id: WidgetId) -> Self
Build an item whose content is a pre-registered widget id.
Sourcepub fn leading(self, widget: impl Widget + 'static) -> Self
pub fn leading(self, widget: impl Widget + 'static) -> Self
Attach a leading-slot widget rendered before the label (after
the selection indicator bar). Use for a small IconWidget, a
Checkbox for checkable sections, a Badge, or any other
label-sized widget. The slot widget owns its own events — a
Checkbox inside the leading slot toggles independently of
the header’s own tap.
Sourcepub fn trailing(self, widget: impl Widget + 'static) -> Self
pub fn trailing(self, widget: impl Widget + 'static) -> Self
Attach a trailing-slot widget rendered between the row’s flexible
spacer and the chevron. Use for per-row actions — a dismiss
button, a badge, a secondary Toggle. The slot widget owns its
own events: tapping a Button inside the trailing slot fires the
button’s action; gesture recognisers on the trailing widget stop
the header’s own tap from firing, so a close-button click does
not also select the section.
Sourcepub fn tooltip(self, text: impl Into<LocalizedString>) -> Self
pub fn tooltip(self, text: impl Into<LocalizedString>) -> Self
Attach a plain-text tooltip shown after a hover delay on the header
row. The text may come from tr!(...) (translated, locale-reactive)
or lit!(...). Mirrors .tooltip(...) on Button / IconButton /
MenuItem. Clears any previously set rich or composite tooltip (the
last tooltip setter called 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
TooltipRegistry by key.
Clears any previously set plain or composite tooltip (the last
tooltip setter called wins).
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-offs that don’t belong in the registry. Clears any previously
set plain or composite tooltip (the last tooltip setter called wins).
Sourcepub fn composite_tooltip(self, content: impl Widget + 'static) -> Self
pub fn composite_tooltip(self, content: impl Widget + 'static) -> Self
Attach a composite tooltip — an arbitrary impl Widget body shown
in a larger, scrollable overlay after a longer hover delay. Use for
rich on-demand previews: charts, property tables, image thumbnails.
Clears any previously set plain or rich tooltip (the last tooltip
setter called wins).
Sourcepub fn enabled(self, enabled: impl Into<Prop<bool>>) -> Self
pub fn enabled(self, enabled: impl Into<Prop<bool>>) -> Self
Disable the item: its header renders in the disabled text role,
click and keyboard activation are ignored, and arrow navigation
skips it. Accepts a static bool or a reactive Signal<bool>.
Forwarded to the arena via
ctx.enabled_when(header_id, self.enabled.clone()) at build time;
the arena is then the single source of truth and ANDs with
ancestors — disabling the surrounding ToolBox (or any ancestor)
disables every item regardless of this flag.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ToolBoxItem
impl !Send for ToolBoxItem
impl !Sync for ToolBoxItem
impl !UnwindSafe for ToolBoxItem
impl Freeze for ToolBoxItem
impl Unpin for ToolBoxItem
impl UnsafeUnpin for ToolBoxItem
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