summaryrefslogtreecommitdiffstats
path: root/widget/src/overlay
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-06 20:30:58 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-06 20:30:58 +0100
commit34e7c6593a9e0f56cee5db18b7258717cf6bc11b (patch)
tree7c65a58e9052f2f95a0025355679b13c7002eeab /widget/src/overlay
parent8a63774b24488f71147a728123551ae72c080d14 (diff)
downloadiced-34e7c6593a9e0f56cee5db18b7258717cf6bc11b.tar.gz
iced-34e7c6593a9e0f56cee5db18b7258717cf6bc11b.tar.bz2
iced-34e7c6593a9e0f56cee5db18b7258717cf6bc11b.zip
Use `Style` struct pattern instead of trait for all widgets
Diffstat (limited to 'widget/src/overlay')
-rw-r--r--widget/src/overlay/menu.rs36
1 files changed, 20 insertions, 16 deletions
diff --git a/widget/src/overlay/menu.rs b/widget/src/overlay/menu.rs
index bb8ad0e0..e0887e59 100644
--- a/widget/src/overlay/menu.rs
+++ b/widget/src/overlay/menu.rs
@@ -46,7 +46,7 @@ impl<'a, T, Message, Theme, Renderer> Menu<'a, T, Message, Theme, Renderer>
where
T: ToString + Clone,
Message: 'a,
- Theme: container::Style + scrollable::Style + 'a,
+ Theme: 'a,
Renderer: text::Renderer + 'a,
{
/// Creates a new [`Menu`] with the given [`State`], a list of options, and
@@ -197,7 +197,7 @@ where
impl<'a, Message, Theme, Renderer> Overlay<'a, Message, Theme, Renderer>
where
Message: 'a,
- Theme: container::Style + scrollable::Style + 'a,
+ Theme: 'a,
Renderer: text::Renderer + 'a,
{
pub fn new<T>(
@@ -223,20 +223,24 @@ where
style,
} = menu;
- let container = Container::new(
- Scrollable::new(List {
- options,
- hovered_option,
- on_selected,
- on_option_hovered,
- font,
- text_size,
- text_line_height,
- text_shaping,
- padding,
- style: style.menu,
- })
- .style(style.scrollable),
+ let container = Container::with_style(
+ Scrollable::with_direction_and_style(
+ List {
+ options,
+ hovered_option,
+ on_selected,
+ on_option_hovered,
+ font,
+ text_size,
+ text_line_height,
+ text_shaping,
+ padding,
+ style: style.menu,
+ },
+ scrollable::Direction::default(),
+ style.scrollable,
+ ),
+ container::transparent,
);
state.tree.diff(&container as &dyn Widget<_, _, _>);