Add pick_list function helper in iced_pure::widget

This commit is contained in:
Héctor Ramón Jiménez 2022-02-16 17:15:43 +07:00
parent 019af8ddbf
commit 6e242fe0e5
No known key found for this signature in database
GPG key ID: 140CC052C94F138E

View file

@ -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<Message, Renderer> {
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<Cow<'a, [T]>>,
selected: Option<T>,
on_selected: impl Fn(T) -> Message + 'a,
) -> PickList<'a, T, Message, Renderer>
where
T: ToString + Eq + 'static,
[T]: ToOwned<Owned = Vec<T>>,
Renderer: iced_native::text::Renderer,
{
PickList::new(options, selected, on_selected)
}
pub fn image<Handle>(handle: impl Into<Handle>) -> Image<Handle> {
Image::new(handle.into())
}