diff options
author | 2021-10-31 17:08:19 +0700 | |
---|---|---|
committer | 2021-10-31 17:08:19 +0700 | |
commit | d758006ee91aa0fdb70eaa67abbfad36be02c7be (patch) | |
tree | 9f50e921cb2a95034e64230ca4d2d69d03d6c344 /native/src/widget | |
parent | 6504dca05995b376479c3d0bd9e47f5f6b601788 (diff) | |
download | iced-d758006ee91aa0fdb70eaa67abbfad36be02c7be.tar.gz iced-d758006ee91aa0fdb70eaa67abbfad36be02c7be.tar.bz2 iced-d758006ee91aa0fdb70eaa67abbfad36be02c7be.zip |
Introduce state lifetime for `style_sheet` in `ProgressBar`
Diffstat (limited to 'native/src/widget')
-rw-r--r-- | native/src/widget/progress_bar.rs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/native/src/widget/progress_bar.rs b/native/src/widget/progress_bar.rs index 48bf485e..1f83de10 100644 --- a/native/src/widget/progress_bar.rs +++ b/native/src/widget/progress_bar.rs @@ -21,15 +21,15 @@ pub use iced_style::progress_bar::{Style, StyleSheet}; /// ///  #[allow(missing_debug_implementations)] -pub struct ProgressBar { +pub struct ProgressBar<'a> { range: RangeInclusive<f32>, value: f32, width: Length, height: Option<Length>, - style_sheet: Box<dyn StyleSheet>, + style_sheet: Box<dyn StyleSheet + 'a>, } -impl ProgressBar { +impl<'a> ProgressBar<'a> { /// The default height of a [`ProgressBar`]. pub const DEFAULT_HEIGHT: u16 = 30; @@ -63,14 +63,14 @@ impl ProgressBar { /// Sets the style of the [`ProgressBar`]. pub fn style( mut self, - style_sheet: impl Into<Box<dyn StyleSheet>>, + style_sheet: impl Into<Box<dyn StyleSheet + 'a>>, ) -> Self { self.style_sheet = style_sheet.into(); self } } -impl<Message, Renderer> Widget<Message, Renderer> for ProgressBar +impl<'a, Message, Renderer> Widget<Message, Renderer> for ProgressBar<'a> where Renderer: crate::Renderer, { @@ -147,12 +147,13 @@ where } } -impl<'a, Message, Renderer> From<ProgressBar> for Element<'a, Message, Renderer> +impl<'a, Message, Renderer> From<ProgressBar<'a>> + for Element<'a, Message, Renderer> where Renderer: 'a + crate::Renderer, Message: 'a, { - fn from(progress_bar: ProgressBar) -> Element<'a, Message, Renderer> { + fn from(progress_bar: ProgressBar<'a>) -> Element<'a, Message, Renderer> { Element::new(progress_bar) } } |