pub struct Breadcrumb<Msg> { /* private fields */ }Expand description
The path to the current place, such as workspace › quvyta › crates › src.
Every segment but the last opens its level; the last is the current place, bold and not
clickable. Segments are bare text that rises on hover; the separator is a faint chevron icon.
When the path does not fit, the middle collapses into …, which lists the hidden levels.
Keys while focused: ←/→ move between segments, Home/End jump to the ends, Enter or Space
opens the segment (or the list behind …).
A faint path, see faint, is drawn a step quieter for a place the person
cannot read, and its segments still open their levels.
Style keys: crumb with hover, focus; crumb.current; crumb.faint and
crumb.faint-current for a faint path; crumb-separator;
popup-menu, popup-item, popup-check for the hidden levels. Icon: crumb-separator.
Implementations§
Source§impl<Msg: 'static> Breadcrumb<Msg>
impl<Msg: 'static> Breadcrumb<Msg>
Sourcepub fn new(segments: impl IntoIterator<Item = impl Into<String>>) -> Self
pub fn new(segments: impl IntoIterator<Item = impl Into<String>>) -> Self
A path of segments from the root to the current place.
Sourcepub fn on_select(self, message: impl Fn(usize) -> Msg + 'static) -> Self
pub fn on_select(self, message: impl Fn(usize) -> Msg + 'static) -> Self
Message for opening segment index.
Sourcepub fn faint(self, faint: bool) -> Self
pub fn faint(self, faint: bool) -> Self
Draws the path faint: every segment a step quieter, the current place too, for a place shown but not open to the person, such as a folder that cannot be read.
Only the tone changes. The segments still rise on hover and focus and still open their levels, so the way back out of the place stays where it always is.
Trait Implementations§
Source§impl<Msg: 'static> Widget<Msg> for Breadcrumb<Msg>
impl<Msg: 'static> Widget<Msg> for Breadcrumb<Msg>
Source§fn measure(&self, _cx: &mut MeasureCx<'_>, available: Size) -> Size
fn measure(&self, _cx: &mut MeasureCx<'_>, available: Size) -> Size
available.Source§fn paint_overlay(&self, cx: &mut PaintCx<'_>, anchor: Rect)
fn paint_overlay(&self, cx: &mut PaintCx<'_>, anchor: Rect)
PaintCx::request_overlay. anchor is the area the widget was painted in.Source§fn event(&self, cx: &mut EventCx<'_, Msg>, event: &Event) -> bool
fn event(&self, cx: &mut EventCx<'_, Msg>, event: &Event) -> bool
true when the event was used; unused key and scroll events
bubble to the parent widget.Source§fn children_mut(&mut self) -> &mut [Node<Msg>]
fn children_mut(&mut self) -> &mut [Node<Msg>]
Auto Trait Implementations§
impl<Msg> !RefUnwindSafe for Breadcrumb<Msg>
impl<Msg> !Send for Breadcrumb<Msg>
impl<Msg> !Sync for Breadcrumb<Msg>
impl<Msg> !UnwindSafe for Breadcrumb<Msg>
impl<Msg> Freeze for Breadcrumb<Msg>
impl<Msg> Unpin for Breadcrumb<Msg>
impl<Msg> UnsafeUnpin for Breadcrumb<Msg>
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
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