Struct MenuEntry
pub struct MenuEntry { /* private fields */ }Expand description
One row of a context menu: what it shows, and what choosing it does.
Implementations§
§impl MenuEntry
impl MenuEntry
pub fn new(label: impl Into<String>, run: impl Fn() + 'static) -> MenuEntry
pub fn new(label: impl Into<String>, run: impl Fn() + 'static) -> MenuEntry
A command: label shown, run called when it is chosen.
pub fn destructive(
label: impl Into<String>,
run: impl Fn() + 'static,
) -> MenuEntry
pub fn destructive( label: impl Into<String>, run: impl Fn() + 'static, ) -> MenuEntry
A command that takes something away, styled as such.
pub fn caption(text: impl Into<String>) -> MenuEntry
pub fn caption(text: impl Into<String>) -> MenuEntry
A line of secondary text about the entries around it (why the one above is unavailable): read, never chosen.
pub fn for_press(self, press: Press) -> MenuEntry
pub fn for_press(self, press: Press) -> MenuEntry
Choosing the entry presses what the view bound to it (press): the row runs the action
itself, and the menu names it as the row’s binding.
pub fn with_group(self, group: impl Into<String>) -> MenuEntry
pub fn with_group(self, group: impl Into<String>) -> MenuEntry
Name the run of commands this one stands in (group: "Due"): consecutive
entries of one run fold into a row that opens them
(Self::fold_groups).
pub fn with_description(self, text: impl Into<String>) -> MenuEntry
pub fn with_description(self, text: impl Into<String>) -> MenuEntry
Say what choosing the row does beyond its name; assistive technology reads it.
A row that opens entries beside it: choosing one runs its command.
pub fn fold_groups(entries: Vec<MenuEntry>) -> Vec<MenuEntry>
pub fn fold_groups(entries: Vec<MenuEntry>) -> Vec<MenuEntry>
The entries with each run of consecutive commands of one group (group: "Due")
folded into one entry named for the group, which opens them: the first entry
keeps the run’s icon and shows a check when one of its commands is on. A run
of one command stays the command itself.
pub fn fold_numbered(
rows: Vec<(usize, MenuEntry)>,
) -> (Vec<MenuEntry>, Vec<MenuPick>)
pub fn fold_numbered( rows: Vec<(usize, MenuEntry)>, ) -> (Vec<MenuEntry>, Vec<MenuPick>)
Self::fold_groups, keeping what each folded entry stands for: the command
whose index it was given, or the indices of the run a group entry opens. A group
entry runs nothing itself; its members carry their own commands.
pub fn emoji_bar(bar: EmojiBarProps) -> MenuEntry
pub fn emoji_bar(bar: EmojiBarProps) -> MenuEntry
A row of emoji to pick one from, as a menu’s emoji bar: picking one fires the bar’s
pick with it; its last cell, when the bar has more, opens the emoji picker over the
menu’s place for any other.
pub fn with_shortcut(self, keys: impl Into<Shortcut>) -> MenuEntry
pub fn with_shortcut(self, keys: impl Into<Shortcut>) -> MenuEntry
The keys that do the same, shown at the row’s end.
pub fn with_destructive(self, destructive: bool) -> MenuEntry
pub fn with_destructive(self, destructive: bool) -> MenuEntry
It takes something away: it is undone, not confirmed, and is drawn as such.
pub fn with_checked(self, checked: bool) -> MenuEntry
pub fn with_checked(self, checked: bool) -> MenuEntry
The choice this row is now, for the ones that are a state.
pub fn with_enabled(self, enabled: bool) -> MenuEntry
pub fn with_enabled(self, enabled: bool) -> MenuEntry
Shown but not available now.
Auto Trait Implementations§
impl Freeze for MenuEntry
impl !RefUnwindSafe for MenuEntry
impl !Send for MenuEntry
impl !Sync for MenuEntry
impl Unpin for MenuEntry
impl UnsafeUnpin for MenuEntry
impl !UnwindSafe for MenuEntry
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<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> 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>, which can then be
downcast into Box<dyn 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>, which 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> 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