pub struct WidgetTreeChangedArgs {
pub timestamp: DInstant,
pub prev_tree: WeakWidgetInfoTree,
pub tree: WidgetInfoTree,
pub is_update: bool,
pub propagation: EventPropagationHandle,
}Expand description
Fields§
§timestamp: DInstantInstant the event happened.
prev_tree: WeakWidgetInfoTreePrevious widget tree.
The strong reference if only held for the duration event update duration, after it is dropped. It will also not upgrade if this event is the first for the window.
This is equal to tree if is_update.
tree: WidgetInfoTreeNew widget tree.
is_update: boolIf it is the same tree, just render info updated.
Note that these changes are applied with interior mutability, so the tree shared reference
will can be modified on the next render. To compare values save a copy.
Some values updated without tree rebuild are, widget transforms, widget visibility.
propagation: EventPropagationHandlePropagation handle associated with this event instance.
Cloned arguments share the same handle, some arguments may also share the handle of another event if they share the same cause.
Implementations§
Source§impl WidgetTreeChangedArgs
impl WidgetTreeChangedArgs
Sourcepub fn new(
timestamp: impl Into<DInstant>,
propagation: EventPropagationHandle,
prev_tree: impl Into<WeakWidgetInfoTree>,
tree: impl Into<WidgetInfoTree>,
is_update: impl Into<bool>,
) -> Self
pub fn new( timestamp: impl Into<DInstant>, propagation: EventPropagationHandle, prev_tree: impl Into<WeakWidgetInfoTree>, tree: impl Into<WidgetInfoTree>, is_update: impl Into<bool>, ) -> Self
New args from values that convert into the argument types.
Sourcepub fn now(
prev_tree: impl Into<WeakWidgetInfoTree>,
tree: impl Into<WidgetInfoTree>,
is_update: impl Into<bool>,
) -> Self
pub fn now( prev_tree: impl Into<WeakWidgetInfoTree>, tree: impl Into<WidgetInfoTree>, is_update: impl Into<bool>, ) -> Self
Arguments for event that happened now (INSTANT.now).
Trait Implementations§
Source§impl AnyEventArgs for WidgetTreeChangedArgs
impl AnyEventArgs for WidgetTreeChangedArgs
Source§fn is_in_target(&self, _id: WidgetId) -> bool
fn is_in_target(&self, _id: WidgetId) -> bool
Broadcast to all widgets.
Source§fn propagation(&self) -> &EventPropagationHandle
fn propagation(&self) -> &EventPropagationHandle
Source§fn clone_boxed(&self) -> Box<dyn AnyEventArgs>
fn clone_boxed(&self) -> Box<dyn AnyEventArgs>
Source§impl Clone for WidgetTreeChangedArgs
impl Clone for WidgetTreeChangedArgs
Source§fn clone(&self) -> WidgetTreeChangedArgs
fn clone(&self) -> WidgetTreeChangedArgs
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WidgetTreeChangedArgs
impl Debug for WidgetTreeChangedArgs
Source§impl PartialEq for WidgetTreeChangedArgs
impl PartialEq for WidgetTreeChangedArgs
impl EventArgs for WidgetTreeChangedArgs
impl StructuralPartialEq for WidgetTreeChangedArgs
Auto Trait Implementations§
impl Freeze for WidgetTreeChangedArgs
impl !RefUnwindSafe for WidgetTreeChangedArgs
impl Send for WidgetTreeChangedArgs
impl Sync for WidgetTreeChangedArgs
impl Unpin for WidgetTreeChangedArgs
impl !UnwindSafe for WidgetTreeChangedArgs
Blanket Implementations§
Source§impl<T> AnyVarValue for T
impl<T> AnyVarValue for T
Source§fn clone_boxed(&self) -> BoxAnyVarValue
fn clone_boxed(&self) -> BoxAnyVarValue
Source§fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
self and other are equal.Source§fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
other if both are of the same type.Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more