diff options
Diffstat (limited to 'virtual/src/widget')
-rw-r--r-- | virtual/src/widget/button.rs | 4 | ||||
-rw-r--r-- | virtual/src/widget/column.rs | 11 | ||||
-rw-r--r-- | virtual/src/widget/text.rs | 9 |
3 files changed, 22 insertions, 2 deletions
diff --git a/virtual/src/widget/button.rs b/virtual/src/widget/button.rs index 534dd13a..ece90811 100644 --- a/virtual/src/widget/button.rs +++ b/virtual/src/widget/button.rs @@ -23,9 +23,9 @@ pub struct Button<Message, Renderer> { } impl<Message, Renderer> Button<Message, Renderer> { - pub fn new(content: impl Widget<Message, Renderer> + 'static) -> Self { + pub fn new(content: impl Into<Element<Message, Renderer>>) -> Self { Button { - content: Element::new(content), + content: content.into(), on_press: None, style_sheet: Default::default(), width: Length::Shrink, diff --git a/virtual/src/widget/column.rs b/virtual/src/widget/column.rs index e7649bc1..2f70282a 100644 --- a/virtual/src/widget/column.rs +++ b/virtual/src/widget/column.rs @@ -207,3 +207,14 @@ where } } } + +impl<Message, Renderer> Into<Element<Message, Renderer>> + for Column<Message, Renderer> +where + Message: 'static, + Renderer: iced_native::Renderer + 'static, +{ + fn into(self) -> Element<Message, Renderer> { + Element::new(self) + } +} diff --git a/virtual/src/widget/text.rs b/virtual/src/widget/text.rs index 91da7e99..e3a7d299 100644 --- a/virtual/src/widget/text.rs +++ b/virtual/src/widget/text.rs @@ -174,3 +174,12 @@ where Element::new(self) } } + +impl<Message, Renderer> Into<Element<Message, Renderer>> for &'static str +where + Renderer: text::Renderer + 'static, +{ + fn into(self) -> Element<Message, Renderer> { + Text::new(self).into() + } +} |