From 6e242fe0e506f8086371a24f03e7fbe3a10ca2ae Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Wed, 16 Feb 2022 17:15:43 +0700 Subject: Add `pick_list` function helper in `iced_pure::widget` --- pure/src/widget.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'pure') diff --git a/pure/src/widget.rs b/pure/src/widget.rs index 6dda653d..62f9d95b 100644 --- a/pure/src/widget.rs +++ b/pure/src/widget.rs @@ -40,6 +40,8 @@ use iced_native::overlay; use iced_native::renderer; use iced_native::{Clipboard, Hasher, Length, Point, Rectangle, Shell}; +use std::borrow::Cow; + pub trait Widget { fn width(&self) -> Length; @@ -210,6 +212,19 @@ where Slider::new(range, value, on_change) } +pub fn pick_list<'a, Message, Renderer, T>( + options: impl Into>, + selected: Option, + on_selected: impl Fn(T) -> Message + 'a, +) -> PickList<'a, T, Message, Renderer> +where + T: ToString + Eq + 'static, + [T]: ToOwned>, + Renderer: iced_native::text::Renderer, +{ + PickList::new(options, selected, on_selected) +} + pub fn image(handle: impl Into) -> Image { Image::new(handle.into()) } -- cgit