diff options
-rw-r--r-- | native/src/widget/progress_bar.rs | 15 | ||||
-rw-r--r-- | style/src/progress_bar.rs | 4 | ||||
-rw-r--r-- | web/src/widget/progress_bar.rs | 12 |
3 files changed, 16 insertions, 15 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) } } diff --git a/style/src/progress_bar.rs b/style/src/progress_bar.rs index d0878c84..e829c68f 100644 --- a/style/src/progress_bar.rs +++ b/style/src/progress_bar.rs @@ -32,9 +32,9 @@ impl std::default::Default for Box<dyn StyleSheet> { } } -impl<T> From<T> for Box<dyn StyleSheet> +impl<'a, T> From<T> for Box<dyn StyleSheet + 'a> where - T: 'static + StyleSheet, + T: 'a + StyleSheet, { fn from(style: T) -> Self { Box::new(style) diff --git a/web/src/widget/progress_bar.rs b/web/src/widget/progress_bar.rs index 7d77616e..01f412f8 100644 --- a/web/src/widget/progress_bar.rs +++ b/web/src/widget/progress_bar.rs @@ -18,15 +18,15 @@ use std::ops::RangeInclusive; /// ///  #[allow(missing_debug_implementations)] -pub struct ProgressBar { +pub struct ProgressBar<'a> { range: RangeInclusive<f32>, value: f32, width: Length, height: Option<Length>, - style: Box<dyn StyleSheet>, + style: Box<dyn StyleSheet + 'a>, } -impl ProgressBar { +impl<'a> ProgressBar<'a> { /// Creates a new [`ProgressBar`]. /// /// It expects: @@ -61,7 +61,7 @@ impl ProgressBar { } } -impl<Message> Widget<Message> for ProgressBar { +impl<'a, Message> Widget<Message> for ProgressBar<'a> { fn node<'b>( &self, bump: &'b bumpalo::Bump, @@ -106,11 +106,11 @@ impl<Message> Widget<Message> for ProgressBar { } } -impl<'a, Message> From<ProgressBar> for Element<'a, Message> +impl<'a, Message> From<ProgressBar<'a>> for Element<'a, Message> where Message: 'static, { - fn from(container: ProgressBar) -> Element<'a, Message> { + fn from(container: ProgressBar<'a>) -> Element<'a, Message> { Element::new(container) } } |