From e1e7e55e7b2343eddba77f8141452c7577c67fee Mon Sep 17 00:00:00 2001 From: Hanno Braun Date: Mon, 25 Nov 2024 22:55:19 +0100 Subject: [PATCH] Add `OpsLog::selected` --- experiments/2024-10-30/src/app.rs | 4 +--- experiments/2024-10-30/src/geometry/ops_log.rs | 4 ++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/experiments/2024-10-30/src/app.rs b/experiments/2024-10-30/src/app.rs index 6ff9f1566..44517160e 100644 --- a/experiments/2024-10-30/src/app.rs +++ b/experiments/2024-10-30/src/app.rs @@ -106,9 +106,7 @@ impl ApplicationHandler for App { window.request_redraw(); } WindowEvent::RedrawRequested => { - if let Some(selected) = - self.ops.operations.get(self.ops.selected) - { + if let Some(selected) = self.ops.selected() { if let Err(err) = renderer.render(selected, &self.ops) { eprintln!("Render error: {err}"); } diff --git a/experiments/2024-10-30/src/geometry/ops_log.rs b/experiments/2024-10-30/src/geometry/ops_log.rs index dcbc3d1ae..6eb02c3a9 100644 --- a/experiments/2024-10-30/src/geometry/ops_log.rs +++ b/experiments/2024-10-30/src/geometry/ops_log.rs @@ -64,6 +64,10 @@ impl OpsLog { pub fn select_previous(&mut self) { self.selected = self.selected.saturating_sub(1); } + + pub fn selected(&self) -> Option<&dyn Operation> { + self.operations.get(self.selected).map(|op| op as &_) + } } impl fmt::Display for OpsLog {