77 lines
1.9 KiB
Rust
77 lines
1.9 KiB
Rust
// From iced_aw, license MIT
|
|
|
|
//! A [`MenuBar`] widget for displaying [`MenuTree`]s
|
|
//!
|
|
//! *This API requires the following crate features to be activated: `menu`*
|
|
//!
|
|
//! # Example
|
|
//!
|
|
//! ```ignore
|
|
//! use iced::widget::button;
|
|
//! use iced_aw::menu::{MenuTree, MenuBar};
|
|
//!
|
|
//! let sub_2 = MenuTree::with_children(
|
|
//! button("Sub Menu 2"),
|
|
//! vec![
|
|
//! MenuTree::new(button("item_1")),
|
|
//! MenuTree::new(button("item_2")),
|
|
//! MenuTree::new(button("item_3")),
|
|
//! ]
|
|
//! );
|
|
//!
|
|
//! let sub_1 = MenuTree::with_children(
|
|
//! button("Sub Menu 1"),
|
|
//! vec![
|
|
//! MenuTree::new(button("item_1")),
|
|
//! sub_2,
|
|
//! MenuTree::new(button("item_2")),
|
|
//! MenuTree::new(button("item_3")),
|
|
//! ]
|
|
//! );
|
|
//!
|
|
//!
|
|
//! let root_1 = MenuTree::with_children(
|
|
//! button("Menu 1"),
|
|
//! vec![
|
|
//! MenuTree::new(button("item_1")),
|
|
//! MenuTree::new(button("item_2")),
|
|
//! sub_1,
|
|
//! MenuTree::new(button("item_3")),
|
|
//! ]
|
|
//! );
|
|
//!
|
|
//! let root_2 = MenuTree::with_children(
|
|
//! button("Menu 2"),
|
|
//! vec![
|
|
//! MenuTree::new(button("item_1")),
|
|
//! MenuTree::new(button("item_2")),
|
|
//! MenuTree::new(button("item_3")),
|
|
//! ]
|
|
//! );
|
|
//!
|
|
//! let menu_bar = MenuBar::new(vec![root_1, root_2]);
|
|
//!
|
|
//! ```
|
|
//!
|
|
|
|
pub mod action;
|
|
pub use action::MenuAction as Action;
|
|
|
|
mod flex;
|
|
pub mod key_bind;
|
|
pub use key_bind::KeyBind;
|
|
|
|
mod menu_bar;
|
|
pub(crate) use menu_bar::MenuBarState;
|
|
pub use menu_bar::{menu_bar as bar, MenuBar};
|
|
|
|
mod menu_inner;
|
|
mod menu_tree;
|
|
pub use menu_tree::{
|
|
menu_button, menu_items as items, menu_root as root, MenuItem as Item, MenuTree as Tree,
|
|
};
|
|
|
|
pub use crate::style::menu_bar::{Appearance, StyleSheet};
|
|
pub(crate) use menu_bar::{menu_roots_children, menu_roots_diff};
|
|
pub(crate) use menu_inner::Menu;
|
|
pub use menu_inner::{CloseCondition, ItemHeight, ItemWidth, PathHighlight};
|