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