summaryrefslogtreecommitdiffstats
path: root/examples/game_of_life/src/preset.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-07-19 21:18:54 +0700
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-07-19 21:18:54 +0700
commitb97954a1ee3ec7bc85d1d41b397e994752ff1831 (patch)
tree0adfbc12d44161fad183269b5d724042f5fe09af /examples/game_of_life/src/preset.rs
parentc8ac77e4e99414746adedf38cf69ac8dcd1601a4 (diff)
downloadiced-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.rs13
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 {