Skip to main content

Segment

Struct Segment 

Source
pub struct Segment { /* private fields */ }
Expand description

One segment descriptor: a localized label with a stable SegmentId, an optional leading icon, a hover tooltip, and reactive disabled / visible flags.

Implementations§

Source§

impl Segment

Source

pub fn new(label: impl Into<LocalizedString>) -> Self

A text segment with a freshly allocated SegmentId. The label may come from tr!(...) (translated — follows a live locale switch) or lit!(...) (untranslated).

Call id when the segment needs a stable identity — one that survives a restart, or that another crate can name.

Source

pub fn id(self, id: SegmentId) -> Self

Give this segment an app-chosen stable identity, replacing the fresh id new allocated. Use this whenever the selection is persisted or the segment is contributed by another crate.

Source

pub fn segment_id(&self) -> SegmentId

This segment’s identity.

Source

pub fn icon(self, factory: impl Fn() -> IconWidget + 'static) -> Self

Add a leading icon. The factory is invoked at build time (and on rebuild); the icon’s tint is bound reactively to the segment’s selected / focus / enabled state so it matches the label.

Source

pub fn tooltip(self, text: impl Into<LocalizedString>) -> Self

Hover tooltip — most useful for icon-only segments.

Mutually exclusive with rich_tooltip / rich_tooltip_content / composite_tooltip — last call wins.

Source

pub fn rich_tooltip(self, key: impl Into<String>) -> Self

Rich hover tooltip resolved from the app-wide registry by key.

Mutually exclusive with tooltip / rich_tooltip_content / composite_tooltip — last call wins.

Source

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

Rich hover tooltip driven by an inline TooltipContent entry (no registry key needed).

Mutually exclusive with tooltip / rich_tooltip / composite_tooltip — last call wins.

Source

pub fn composite_tooltip( self, factory: impl Fn() -> Box<dyn Widget> + 'static, ) -> Self

Composite hover tooltip built by a factory closure at attach time.

The factory is called once per build() to produce the tooltip body widget. It is stored as an Rc<dyn Fn> so that Segment remains Clone.

Mutually exclusive with tooltip / rich_tooltip / rich_tooltip_content — last call wins.

Source

pub fn disabled(self, disabled: impl Into<Prop<bool>>) -> Self

Disable this segment: not selectable via click or keyboard, dimmed, and announced disabled to assistive tech.

Accepts a bool or a Signal<bool> — a bound signal flips the segment live, with no rebuild, and keyboard stepping honours the new value immediately (the flags are read at event time, not snapshotted at build time).

Source

pub fn visible(self, visible: impl Into<Prop<bool>>) -> Self

Hide this segment entirely: it leaves the strip, the overflow menu, the keyboard order, and the accessibility tree, and it is excluded from the overflow calculation.

Distinct from overflowed — an overflowed segment is still reachable from the chevron menu, a hidden one is not there at all. Accepts a bool or a Signal<bool>; a bound signal re-runs the overflow plan with no rebuild.

Trait Implementations§

Source§

impl Clone for Segment

Source§

fn clone(&self) -> Segment

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Segment

Source§

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

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

impl From<LocalizedString> for Segment

Label-only convenience: tr!(day()) / lit!("Off") flow straight into .segment(...) / .segments([...]) without Segment::new.

Source§

fn from(label: LocalizedString) -> Self

Converts to this type from the input type.

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,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

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<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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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<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