summaryrefslogtreecommitdiffstats
path: root/virtual/src
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-02-10 23:16:21 +0700
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-02-10 23:16:21 +0700
commite03de019881f31d69b70a64c3e278ae5200d5080 (patch)
treee6c3a85eb347f61a69c3ad2e733ca3ca5245481a /virtual/src
parent5225e0e304bf5b407977e549c48ce9dea26b8c40 (diff)
downloadiced-e03de019881f31d69b70a64c3e278ae5200d5080.tar.gz
iced-e03de019881f31d69b70a64c3e278ae5200d5080.tar.bz2
iced-e03de019881f31d69b70a64c3e278ae5200d5080.zip
Implement `Into<Element>` for `&'static str` in `iced_virtual`
Diffstat (limited to 'virtual/src')
-rw-r--r--virtual/src/lib.rs4
-rw-r--r--virtual/src/widget/button.rs4
-rw-r--r--virtual/src/widget/column.rs11
-rw-r--r--virtual/src/widget/text.rs9
4 files changed, 24 insertions, 4 deletions
diff --git a/virtual/src/lib.rs b/virtual/src/lib.rs
index bab0da15..8ba4c328 100644
--- a/virtual/src/lib.rs
+++ b/virtual/src/lib.rs
@@ -21,9 +21,9 @@ where
{
pub fn new(
state: &'a mut State<Message, Renderer>,
- content: Element<Message, Renderer>,
+ content: impl Into<Element<Message, Renderer>>,
) -> Self {
- let _ = state.diff(content);
+ let _ = state.diff(content.into());
Self { state }
}
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()
+ }
+}