use crate::prelude::{Res, Runes, Theme, ViewContext}; pub trait Widget { fn ui(&mut self, ctx: &mut ViewContext); } fn list(items: Vec, selection_index: usize) -> impl FnOnce(&mut ViewContext, Res) { move |ctx: &mut ViewContext, theme: Res| { for (idx, item) in items.into_iter().enumerate() { ctx.insert((0, idx), item.clone()); } } }