summaryrefslogtreecommitdiffstats
path: root/widget/src/helpers.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector@hecrj.dev>2024-02-14 04:09:33 +0100
committerLibravatar GitHub <noreply@github.com>2024-02-14 04:09:33 +0100
commit75b19646d3d17b9b44bb495e239cbbc2d139c0e9 (patch)
treebb6ef840b8b81367c83e1bc97150ae21e88d65e5 /widget/src/helpers.rs
parent52e207b89bb79dba210c581b790f794e6e0c94e8 (diff)
parent06973d31c6b7655f6f6fb0dfb17e621052b810e6 (diff)
downloadiced-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.rs15
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