pub struct WidgetUpdates { /* private fields */ }Expand description
Widget updates of the current cycle.
Most information about the current update is provided by the UPDATES service. Variable and event instances
are also flagged new inside the update context.
This type contains only the delivery_list, widget nodes must use it to skip the widget branch, other nodes
need only pass the reference to all children nodes.
Widgets can extend the current update to descendant widgets using the clone_insert* methods, but this is only recommended
if the descendant nodes know to support this, usually gated by a contextual flag, event updates need to be received differently for example,
as the event target will not contain the inserted widget.
Implementations§
Source§impl WidgetUpdates
impl WidgetUpdates
Sourcepub fn new(delivery_list: UpdateDeliveryList) -> WidgetUpdates
pub fn new(delivery_list: UpdateDeliveryList) -> WidgetUpdates
New with list.
Sourcepub fn delivery_list(&self) -> &UpdateDeliveryList
pub fn delivery_list(&self) -> &UpdateDeliveryList
Updates delivery list.
Sourcepub fn delivery_list_mut(&mut self) -> &mut UpdateDeliveryList
pub fn delivery_list_mut(&mut self) -> &mut UpdateDeliveryList
Updates delivery list.
Sourcepub fn with_window<H, R>(&self, handle: H) -> Option<R>where
H: FnOnce() -> R,
pub fn with_window<H, R>(&self, handle: H) -> Option<R>where
H: FnOnce() -> R,
Calls handle if update was requested for the WINDOW.
Sourcepub fn with_widget<H, R>(&self, handle: H) -> Option<R>where
H: FnOnce() -> R,
pub fn with_widget<H, R>(&self, handle: H) -> Option<R>where
H: FnOnce() -> R,
Calls handle if update was requested for the WIDGET.
Sourcepub fn extend(&mut self, other: WidgetUpdates)
pub fn extend(&mut self, other: WidgetUpdates)
Copy all delivery from other onto self.
Sourcepub fn clone_insert_wgt(
&self,
wgt: impl WidgetPathProvider,
) -> Cow<'_, WidgetUpdates>
pub fn clone_insert_wgt( &self, wgt: impl WidgetPathProvider, ) -> Cow<'_, WidgetUpdates>
If the delivery list does not contain the wgt clones the updates and inserts the widget.
If the list already contains the widget returns the reference.
Sourcepub fn clone_insert_all<W>(
&self,
widgets: impl IntoIterator<Item = W>,
) -> Cow<'_, WidgetUpdates>where
W: WidgetPathProvider,
pub fn clone_insert_all<W>(
&self,
widgets: impl IntoIterator<Item = W>,
) -> Cow<'_, WidgetUpdates>where
W: WidgetPathProvider,
If the delivery list does not contain all widgets clones the updates and inserts all widgets.
If the list already contains all widgets returns the reference.
Sourcepub fn clone_insert_any<W>(
&self,
widgets: impl IntoIterator<Item = W>,
) -> Cow<'_, WidgetUpdates>where
W: WidgetPathProvider,
pub fn clone_insert_any<W>(
&self,
widgets: impl IntoIterator<Item = W>,
) -> Cow<'_, WidgetUpdates>where
W: WidgetPathProvider,
If the delivery list does not contain any widgets clones the updates and inserts the last widget.
If the list already contains at least one widget returns the reference.
Trait Implementations§
Source§impl Clone for WidgetUpdates
impl Clone for WidgetUpdates
Source§fn clone(&self) -> WidgetUpdates
fn clone(&self) -> WidgetUpdates
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WidgetUpdates
impl Debug for WidgetUpdates
Source§impl Default for WidgetUpdates
impl Default for WidgetUpdates
Source§fn default() -> WidgetUpdates
fn default() -> WidgetUpdates
Auto Trait Implementations§
impl Freeze for WidgetUpdates
impl RefUnwindSafe for WidgetUpdates
impl Send for WidgetUpdates
impl Sync for WidgetUpdates
impl Unpin for WidgetUpdates
impl UnsafeUnpin for WidgetUpdates
impl UnwindSafe for WidgetUpdates
Blanket Implementations§
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> FsChangeNote for T
impl<T> FsChangeNote for T
§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§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().