typed stuff
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
macro_rules! core_state {
|
||||
($vis: vis $state: ty) => {
|
||||
$vis type WidgetHandle<W = dyn Widget<$state>> = $crate::WidgetHandle<$state, W>;
|
||||
$vis type WidgetHandles<W = dyn Widget<$state>> = $crate::WidgetHandles<$state, W>;
|
||||
$vis type WidgetRef<W = dyn Widget<$state>> = $crate::WidgetRef<$state, W>;
|
||||
$vis type Ui = $crate::Ui<$state>;
|
||||
};
|
||||
|
||||
@@ -23,6 +23,7 @@ macro_rules! widget_state {
|
||||
Masked,
|
||||
WidgetPtr,
|
||||
);
|
||||
$vis type TextBuilder<O = TextOutput, H: WidgetOption<$state> = ()> = $crate::widget::TextBuilder<$state, O, H>;
|
||||
};
|
||||
($vis:vis $state:ty; $($ty:ident,)*) => {
|
||||
$($vis type $ty = $crate::widget::$ty<$state>;)*
|
||||
|
||||
@@ -125,6 +125,11 @@ widget_trait! {
|
||||
fn to_any(self) -> impl WidgetIdFn<State> {
|
||||
|ui| self.add(ui)
|
||||
}
|
||||
|
||||
fn set_ptr(self, ptr: WidgetRef<State, WidgetPtr<State>>, ui: &mut Ui<State>) {
|
||||
let id = self.add(ui);
|
||||
ui[ptr].inner = Some(id);
|
||||
}
|
||||
}
|
||||
|
||||
pub trait CoreWidgetArr<State, const LEN: usize, Wa: WidgetArrLike<State, LEN, Tag>, Tag> {
|
||||
|
||||
Reference in New Issue
Block a user