Skip to main content

MenuBar

Struct MenuBar 

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

A row of menu titles: a press on one opens its Menu below it, and while one is open the pointer coming over another title switches to it. Left and Right switch menus from the keyboard. The bar is not in the Tab order: give it the keyboard with MenuBar::activate (on F10, say).

Implementations§

Source§

impl MenuBar

Source

pub fn new() -> Self

A bar without menus.

Source

pub fn with_menu( self, title: impl Into<String>, items: impl IntoIterator<Item = MenuItem>, ) -> Self

The bar with a menu titled title of items after the others.

Source

pub fn style() -> Style

The style for a bar across the top of a window.

Source

pub fn activate(&mut self, cx: &mut EventCx<'_>)

Gives the bar the keyboard, its first title highlighted: Left and Right move, Down, Enter or Space open, Escape lets go.

Source

pub fn set_items( &mut self, index: usize, items: impl IntoIterator<Item = MenuItem>, ) -> bool

Replaces the entries of menu number index (a check mark that follows a setting); shown from the next time the menu opens. false if there is no such menu.

Source

pub fn open_menu(&self) -> Option<usize>

The title of the menu open, by index.

Trait Implementations§

Source§

impl Debug for MenuBar

Source§

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

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

impl Default for MenuBar

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Widget for MenuBar

Source§

fn measure(&mut self, cx: &mut LayoutCx<'_>, _: Constraints) -> Size

The size the widget wants within constraints, for a widget without children (one with children is sized by its style and its children). Physical pixels.
Source§

fn paint(&mut self, cx: &PaintCx<'_>, canvas: &mut Canvas<'_>)

Paints the widget below its children.
Source§

fn event(&mut self, cx: &mut EventCx<'_>, event: &Event<'_>) -> Handled

Handles event. An event the widget does not handle goes on to its parent.
Source§

fn accessibility(&self, cx: &PaintCx<'_>, node: &mut AccessNode)

Describes the widget to assistive technology: fills node, which starts as a Role::Group with the widget’s rectangle. Called only while assistive technology is listening; it may allocate.
Source§

fn access_action( &mut self, cx: &mut EventCx<'_>, request: &AccessRequest<'_>, ) -> Handled

Does what assistive technology asks (only actions the widget’s node lists are asked of it). Focus and scrolling into view are done for every widget; a request the widget does not handle goes on to its parent if it is a scroll.
Source§

fn layout(&mut self, cx: &mut LayoutCx<'_>, size: Size)

Layout decided the widget’s size: re-wrap text or recompute anything that depends on it. Called after every layout pass that changed the size.
Source§

fn paint_over(&mut self, cx: &PaintCx<'_>, canvas: &mut Canvas<'_>)

Paints the widget over its children: scroll bars, focus rings, overlays.
Source§

fn accepts_focus(&self) -> bool

Whether the widget takes keyboard focus, by click or by Tab.
Source§

fn focus_on_press(&self) -> bool

Whether a press on the widget, or on a widget inside it that takes no focus, focuses it (if it accepts focus). A container reachable by Tab, such as a dock’s tab list, says no, so clicks on its contents do not focus it; it can still ask for focus itself.

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
Source§

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.

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.