diff options
author | 2021-07-19 21:18:54 +0700 | |
---|---|---|
committer | 2021-07-19 21:18:54 +0700 | |
commit | b97954a1ee3ec7bc85d1d41b397e994752ff1831 (patch) | |
tree | 0adfbc12d44161fad183269b5d724042f5fe09af /examples/game_of_life/src/preset.rs | |
parent | c8ac77e4e99414746adedf38cf69ac8dcd1601a4 (diff) | |
download | iced-b97954a1ee3ec7bc85d1d41b397e994752ff1831.tar.gz iced-b97954a1ee3ec7bc85d1d41b397e994752ff1831.tar.bz2 iced-b97954a1ee3ec7bc85d1d41b397e994752ff1831.zip |
Add a presets `Menu` to the `game_of_life` example
Diffstat (limited to 'examples/game_of_life/src/preset.rs')
-rw-r--r-- | examples/game_of_life/src/preset.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/examples/game_of_life/src/preset.rs b/examples/game_of_life/src/preset.rs index 05157b6a..1c199a72 100644 --- a/examples/game_of_life/src/preset.rs +++ b/examples/game_of_life/src/preset.rs @@ -1,3 +1,5 @@ +use iced::menu::{self, Menu}; + #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum Preset { Custom, @@ -26,6 +28,17 @@ pub static ALL: &[Preset] = &[ ]; impl Preset { + pub fn menu() -> Menu<Self> { + Menu::with_entries( + ALL.iter() + .copied() + .map(|preset| { + menu::Entry::item(preset.to_string(), None, preset) + }) + .collect(), + ) + } + pub fn life(self) -> Vec<(isize, isize)> { #[rustfmt::skip] let cells = match self { |