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()
|
||||
.padding(20)
|
||||
.align_items(Alignment::Center)
|
||||
.push(
|
||||
Button::new(Text::new("Increment"))
|
||||
.on_press(Message::IncrementPressed),
|
||||
)
|
||||
.push(Button::new("Increment").on_press(Message::IncrementPressed))
|
||||
.push(Text::new(self.value.to_string()).size(50))
|
||||
.push(
|
||||
Button::new(Text::new("Decrement"))
|
||||
.on_press(Message::DecrementPressed),
|
||||
);
|
||||
.push(Button::new("Decrement").on_press(Message::DecrementPressed));
|
||||
|
||||
Virtual::new(&mut self.state, iced_virtual::Element::new(content))
|
||||
.into()
|
||||
Virtual::new(&mut self.state, content).into()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
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