diff options
author | 2024-02-14 04:09:33 +0100 | |
---|---|---|
committer | 2024-02-14 04:09:33 +0100 | |
commit | 75b19646d3d17b9b44bb495e239cbbc2d139c0e9 (patch) | |
tree | bb6ef840b8b81367c83e1bc97150ae21e88d65e5 /widget/src/helpers.rs | |
parent | 52e207b89bb79dba210c581b790f794e6e0c94e8 (diff) | |
parent | 06973d31c6b7655f6f6fb0dfb17e621052b810e6 (diff) | |
download | iced-75b19646d3d17b9b44bb495e239cbbc2d139c0e9.tar.gz iced-75b19646d3d17b9b44bb495e239cbbc2d139c0e9.tar.bz2 iced-75b19646d3d17b9b44bb495e239cbbc2d139c0e9.zip |
Merge pull request #2251 from iced-rs/borrow-pick-list-values
Use `Borrow` for both `options` and `selected` in `PickList`
Diffstat (limited to 'widget/src/helpers.rs')
-rw-r--r-- | widget/src/helpers.rs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/widget/src/helpers.rs b/widget/src/helpers.rs index a5411c89..e9898d67 100644 --- a/widget/src/helpers.rs +++ b/widget/src/helpers.rs @@ -22,7 +22,7 @@ use crate::toggler::{self, Toggler}; use crate::tooltip::{self, Tooltip}; use crate::{Column, MouseArea, Row, Space, Themer, VerticalSlider}; -use std::borrow::Cow; +use std::borrow::Borrow; use std::ops::RangeInclusive; /// Creates a [`Column`] with the given children. @@ -264,14 +264,15 @@ where /// Creates a new [`PickList`]. /// /// [`PickList`]: crate::PickList -pub fn pick_list<'a, Message, Theme, Renderer, T>( - options: impl Into<Cow<'a, [T]>>, - selected: Option<T>, +pub fn pick_list<'a, T, L, V, Message, Theme, Renderer>( + options: L, + selected: Option<V>, on_selected: impl Fn(T) -> Message + 'a, -) -> PickList<'a, T, Message, Theme, Renderer> +) -> PickList<'a, T, L, V, Message, Theme, Renderer> where - T: ToString + PartialEq + 'static, - [T]: ToOwned<Owned = Vec<T>>, + T: ToString + PartialEq + Clone + 'a, + L: Borrow<[T]> + 'a, + V: Borrow<T> + 'a, Message: Clone, Renderer: core::text::Renderer, Theme: pick_list::StyleSheet |