Implement Into<Element> for &'static str in iced_virtual
This commit is contained in:
parent
5225e0e304
commit
e03de01988
5 changed files with 27 additions and 14 deletions
|
|
@ -45,17 +45,10 @@ impl Sandbox for Counter {
|
||||||
let content = Column::new()
|
let content = Column::new()
|
||||||
.padding(20)
|
.padding(20)
|
||||||
.align_items(Alignment::Center)
|
.align_items(Alignment::Center)
|
||||||
.push(
|
.push(Button::new("Increment").on_press(Message::IncrementPressed))
|
||||||
Button::new(Text::new("Increment"))
|
|
||||||
.on_press(Message::IncrementPressed),
|
|
||||||
)
|
|
||||||
.push(Text::new(self.value.to_string()).size(50))
|
.push(Text::new(self.value.to_string()).size(50))
|
||||||
.push(
|
.push(Button::new("Decrement").on_press(Message::DecrementPressed));
|
||||||
Button::new(Text::new("Decrement"))
|
|
||||||
.on_press(Message::DecrementPressed),
|
|
||||||
);
|
|
||||||
|
|
||||||
Virtual::new(&mut self.state, iced_virtual::Element::new(content))
|
Virtual::new(&mut self.state, content).into()
|
||||||
.into()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,9 +21,9 @@ where
|
||||||
{
|
{
|
||||||
pub fn new(
|
pub fn new(
|
||||||
state: &'a mut State<Message, Renderer>,
|
state: &'a mut State<Message, Renderer>,
|
||||||
content: Element<Message, Renderer>,
|
content: impl Into<Element<Message, Renderer>>,
|
||||||
) -> Self {
|
) -> Self {
|
||||||
let _ = state.diff(content);
|
let _ = state.diff(content.into());
|
||||||
|
|
||||||
Self { state }
|
Self { state }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,9 +23,9 @@ pub struct Button<Message, Renderer> {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<Message, Renderer> 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 {
|
Button {
|
||||||
content: Element::new(content),
|
content: content.into(),
|
||||||
on_press: None,
|
on_press: None,
|
||||||
style_sheet: Default::default(),
|
style_sheet: Default::default(),
|
||||||
width: Length::Shrink,
|
width: Length::Shrink,
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -174,3 +174,12 @@ where
|
||||||
Element::new(self)
|
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()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue