use crate::layout::{Widget, WidgetHandle, WidgetLike}; use std::marker::Unsize; pub trait WidgetView { type Widget: Widget + ?Sized + Unsize = dyn Widget; fn view(self) -> WidgetHandle; } pub struct ViewTag; impl WidgetLike for WV { type Widget = WV::Widget; fn add(self, _ui: &mut super::Ui) -> WidgetHandle { self.view() } }