pub struct ChainList(pub UiVec);Expand description
UI node list implementation that flattens child lists.
Tuple Fields§
§0: UiVecImplementations§
Source§impl ChainList
impl ChainList
Sourcepub fn chain(self, other: impl IntoUiNode) -> UiNode
pub fn chain(self, other: impl IntoUiNode) -> UiNode
Append another list chain node.
See UiNode::chain for more details.
Trait Implementations§
Source§impl UiNodeImpl for ChainList
impl UiNodeImpl for ChainList
Source§fn children_len(&self) -> usize
fn children_len(&self) -> usize
Gets the current count of children nodes.
Source§fn try_for_each_child(
&mut self,
visitor: &mut dyn FnMut(usize, &mut UiNode) -> ControlFlow<BoxAnyVarValue>,
) -> ControlFlow<BoxAnyVarValue>
fn try_for_each_child( &mut self, visitor: &mut dyn FnMut(usize, &mut UiNode) -> ControlFlow<BoxAnyVarValue>, ) -> ControlFlow<BoxAnyVarValue>
Source§fn par_each_child(&mut self, visitor: &(dyn Fn(usize, &mut UiNode) + Sync))
fn par_each_child(&mut self, visitor: &(dyn Fn(usize, &mut UiNode) + Sync))
Calls
visitor for each child node in parallel. Read moreSource§fn par_fold_reduce(
&mut self,
identity: BoxAnyVarValue,
fold: &(dyn Fn(BoxAnyVarValue, usize, &mut UiNode) -> BoxAnyVarValue + Sync),
reduce: &(dyn Fn(BoxAnyVarValue, BoxAnyVarValue) -> BoxAnyVarValue + Sync),
) -> BoxAnyVarValue
fn par_fold_reduce( &mut self, identity: BoxAnyVarValue, fold: &(dyn Fn(BoxAnyVarValue, usize, &mut UiNode) -> BoxAnyVarValue + Sync), reduce: &(dyn Fn(BoxAnyVarValue, BoxAnyVarValue) -> BoxAnyVarValue + Sync), ) -> BoxAnyVarValue
Calls
fold for each child node in parallel, with fold accumulators produced by cloning identity, then merges the folded results
using reduce to produce the final value also in parallel. Read moreSource§fn info(&mut self, info: &mut WidgetInfoBuilder)
fn info(&mut self, info: &mut WidgetInfoBuilder)
Builds widget info. Read more
Source§fn event(&mut self, update: &EventUpdate)
fn event(&mut self, update: &EventUpdate)
Receives an event. Read more
Source§fn update(&mut self, updates: &WidgetUpdates)
fn update(&mut self, updates: &WidgetUpdates)
Receives variable and other non-event updates. Read more
Source§fn update_list(
&mut self,
updates: &WidgetUpdates,
observer: &mut dyn UiNodeListObserver,
)
fn update_list( &mut self, updates: &WidgetUpdates, observer: &mut dyn UiNodeListObserver, )
Does
update and if the node is a list notifies list changes to the observer.Source§fn measure(&mut self, wm: &mut WidgetMeasure) -> PxSize
fn measure(&mut self, wm: &mut WidgetMeasure) -> PxSize
Computes the widget size given the contextual layout metrics without actually updating the widget layout. Read more
Source§fn measure_list(
&mut self,
wm: &mut WidgetMeasure,
measure: &(dyn Fn(usize, &mut UiNode, &mut WidgetMeasure) -> PxSize + Sync),
fold_size: &(dyn Fn(PxSize, PxSize) -> PxSize + Sync),
) -> PxSize
fn measure_list( &mut self, wm: &mut WidgetMeasure, measure: &(dyn Fn(usize, &mut UiNode, &mut WidgetMeasure) -> PxSize + Sync), fold_size: &(dyn Fn(PxSize, PxSize) -> PxSize + Sync), ) -> PxSize
Source§fn layout(&mut self, wl: &mut WidgetLayout) -> PxSize
fn layout(&mut self, wl: &mut WidgetLayout) -> PxSize
Computes the widget layout given the contextual layout metrics. Read more
Source§fn layout_list(
&mut self,
wl: &mut WidgetLayout,
layout: &(dyn Fn(usize, &mut UiNode, &mut WidgetLayout) -> PxSize + Sync),
fold_size: &(dyn Fn(PxSize, PxSize) -> PxSize + Sync),
) -> PxSize
fn layout_list( &mut self, wl: &mut WidgetLayout, layout: &(dyn Fn(usize, &mut UiNode, &mut WidgetLayout) -> PxSize + Sync), fold_size: &(dyn Fn(PxSize, PxSize) -> PxSize + Sync), ) -> PxSize
Source§fn render(&mut self, frame: &mut FrameBuilder)
fn render(&mut self, frame: &mut FrameBuilder)
Generates render instructions and updates transforms and hit-test areas. Read more
Source§fn render_list(
&mut self,
frame: &mut FrameBuilder,
render: &(dyn Fn(usize, &mut UiNode, &mut FrameBuilder) + Sync),
)
fn render_list( &mut self, frame: &mut FrameBuilder, render: &(dyn Fn(usize, &mut UiNode, &mut FrameBuilder) + Sync), )
Source§fn render_update(&mut self, update: &mut FrameUpdate)
fn render_update(&mut self, update: &mut FrameUpdate)
Updates values in the last generated frame. Read more
Source§fn render_update_list(
&mut self,
update: &mut FrameUpdate,
render_update: &(dyn Fn(usize, &mut UiNode, &mut FrameUpdate) + Sync),
)
fn render_update_list( &mut self, update: &mut FrameUpdate, render_update: &(dyn Fn(usize, &mut UiNode, &mut FrameUpdate) + Sync), )
Source§fn as_widget(&mut self) -> Option<&mut dyn WidgetUiNodeImpl>
fn as_widget(&mut self) -> Option<&mut dyn WidgetUiNodeImpl>
Gets the node implementation as a
WidgetUiNodeImpl, if the node defines a widget instance scope.Auto Trait Implementations§
impl Freeze for ChainList
impl !RefUnwindSafe for ChainList
impl Send for ChainList
impl !Sync for ChainList
impl Unpin for ChainList
impl !UnwindSafe for ChainList
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
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
Converts
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>
Converts
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