use crate::element::ElementProps;
use crate::widgets::Widget;
use bevy::asset::AssetServer;
use bevy::prelude::{Entity, EntityCommands};
use roxmltree::Node;
#[derive(Clone, Debug, Default)]
pub struct NodeWidget;
impl Widget for NodeWidget {
fn name() -> &'static str
where
Self: Sized,
{
"Node"
}
fn parse(&mut self, _: &Node) -> Result<(), String> {
Ok(())
}
fn spawn(&self, commands: &mut EntityCommands, _: &AssetServer) -> Entity {
commands.id()
}
fn apply_defaults(
&self,
_: &Node,
_: &mut ElementProps,
_: &mut ElementProps,
_: &mut ElementProps,
) {
}
fn dyn_clone(&self) -> Box<dyn Widget> {
Box::new(Self)
}
}