Reintroduce Box for style_sheet in PaneGrid
This commit is contained in:
parent
40a5de5811
commit
89d50c0243
2 changed files with 14 additions and 5 deletions
|
|
@ -99,7 +99,7 @@ pub struct PaneGrid<'a, Message, Renderer> {
|
||||||
on_click: Option<Box<dyn Fn(Pane) -> Message + 'a>>,
|
on_click: Option<Box<dyn Fn(Pane) -> Message + 'a>>,
|
||||||
on_drag: Option<Box<dyn Fn(DragEvent) -> Message + 'a>>,
|
on_drag: Option<Box<dyn Fn(DragEvent) -> Message + 'a>>,
|
||||||
on_resize: Option<(u16, Box<dyn Fn(ResizeEvent) -> Message + 'a>)>,
|
on_resize: Option<(u16, Box<dyn Fn(ResizeEvent) -> Message + 'a>)>,
|
||||||
style_sheet: &'a dyn StyleSheet,
|
style_sheet: Box<dyn StyleSheet + 'a>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a, Message, Renderer> PaneGrid<'a, Message, Renderer>
|
impl<'a, Message, Renderer> PaneGrid<'a, Message, Renderer>
|
||||||
|
|
@ -191,8 +191,8 @@ where
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Sets the style of the [`PaneGrid`].
|
/// Sets the style of the [`PaneGrid`].
|
||||||
pub fn style(mut self, style: &'a dyn StyleSheet) -> Self {
|
pub fn style(mut self, style: impl Into<Box<dyn StyleSheet + 'a>>) -> Self {
|
||||||
self.style_sheet = style;
|
self.style_sheet = style.into();
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,17 @@ impl StyleSheet for Default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl std::default::Default for &'static dyn StyleSheet {
|
impl std::default::Default for Box<dyn StyleSheet> {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
&Default
|
Box::new(Default)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'a, T> From<T> for Box<dyn StyleSheet + 'a>
|
||||||
|
where
|
||||||
|
T: StyleSheet + 'a,
|
||||||
|
{
|
||||||
|
fn from(style_sheet: T) -> Self {
|
||||||
|
Box::new(style_sheet)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue