pub struct Menu<Msg> { /* private fields */ }Expand description
The navigation column of an application: groups of destinations under faint headings.
With no options it is the plainest menu: the selected item is raised with the accent
pillar, a hovered item rises softly, and the icon and label of both slide one cell while
badges stay anchored. It is usually the content of an AppShell sidebar.
Keys while focused move a cursor, drawn like hover, without leaving the current page: ↑/↓, Home/End, and typing a letter jumps to the next item starting with it. Enter or Space opens the item under the cursor; a click opens at once. The application owns the selection. There is only ever one such highlight: moving the pointer onto a row moves the cursor there, and the keyboard continues from it.
collapsible lets groups with a title fold: the heading gets a chevron,
a click or Enter on it toggles, → opens and ← closes it, and ← on an item goes to its heading.
A foldable heading rises and slides its title like an item; its chevron stays anchored.
Style keys: menu-item with hover, selected, focus, pressed; menu-badge with the
same states; menu-heading with hover; scrollbar.
Implementations§
Source§impl<Msg: 'static> Menu<Msg>
impl<Msg: 'static> Menu<Msg>
Sourcepub fn new(groups: impl IntoIterator<Item = MenuGroup>) -> Self
pub fn new(groups: impl IntoIterator<Item = MenuGroup>) -> Self
A menu of groups.
Sourcepub fn on_select(self, message: impl Fn(&str) -> Msg + 'static) -> Self
pub fn on_select(self, message: impl Fn(&str) -> Msg + 'static) -> Self
Message for opening the item with key.
Sourcepub fn collapsible(self, message: impl Fn(&str, bool) -> Msg + 'static) -> Self
pub fn collapsible(self, message: impl Fn(&str, bool) -> Msg + 'static) -> Self
Lets titled groups fold: message(group, open) asks the application to open or close a
group. Pass the closed groups with collapsed.
Sourcepub fn collapsed(
self,
groups: impl IntoIterator<Item = impl Into<String>>,
) -> Self
pub fn collapsed( self, groups: impl IntoIterator<Item = impl Into<String>>, ) -> Self
Keys of the groups that are closed in a collapsible menu.
Trait Implementations§
Source§impl<Msg: 'static> Widget<Msg> for Menu<Msg>
impl<Msg: 'static> Widget<Msg> for Menu<Msg>
Source§fn measure(&self, _cx: &mut MeasureCx<'_>, available: Size) -> Size
fn measure(&self, _cx: &mut MeasureCx<'_>, available: Size) -> Size
available.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 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 children_mut(&mut self) -> &mut [Node<Msg>]
fn children_mut(&mut self) -> &mut [Node<Msg>]
Auto Trait Implementations§
impl<Msg> !RefUnwindSafe for Menu<Msg>
impl<Msg> !Send for Menu<Msg>
impl<Msg> !Sync for Menu<Msg>
impl<Msg> !UnwindSafe for Menu<Msg>
impl<Msg> Freeze for Menu<Msg>
impl<Msg> Unpin for Menu<Msg>
impl<Msg> UnsafeUnpin for Menu<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