diff --git a/core/src/typed.rs b/core/src/typed.rs index d3987d0..9ad08d9 100644 --- a/core/src/typed.rs +++ b/core/src/typed.rs @@ -2,6 +2,7 @@ macro_rules! core_state { ($vis: vis $state: ty) => { $vis type WidgetHandle> = $crate::WidgetHandle<$state, W>; + $vis type WidgetHandles> = $crate::WidgetHandles<$state, W>; $vis type WidgetRef> = $crate::WidgetRef<$state, W>; $vis type Ui = $crate::Ui<$state>; }; diff --git a/src/typed.rs b/src/typed.rs index 1aeee25..962165d 100644 --- a/src/typed.rs +++ b/src/typed.rs @@ -23,6 +23,7 @@ macro_rules! widget_state { Masked, WidgetPtr, ); + $vis type TextBuilder = ()> = $crate::widget::TextBuilder<$state, O, H>; }; ($vis:vis $state:ty; $($ty:ident,)*) => { $($vis type $ty = $crate::widget::$ty<$state>;)* diff --git a/src/widget/trait_fns.rs b/src/widget/trait_fns.rs index 15cd674..e3b1bd2 100644 --- a/src/widget/trait_fns.rs +++ b/src/widget/trait_fns.rs @@ -125,6 +125,11 @@ widget_trait! { fn to_any(self) -> impl WidgetIdFn { |ui| self.add(ui) } + + fn set_ptr(self, ptr: WidgetRef>, ui: &mut Ui) { + let id = self.add(ui); + ui[ptr].inner = Some(id); + } } pub trait CoreWidgetArr, Tag> {