pub(crate) struct TableBuilderTraversal<'style, 'dom> {
context: &'style LayoutContext<'style>,
info: &'style NodeAndStyleInfo<'dom>,
current_propagated_data: PropagatedBoxTreeData,
builder: TableBuilder,
current_anonymous_row_content: Vec<AnonymousTableContent<'dom>>,
current_row_group_index: Option<usize>,
}
Fields§
§context: &'style LayoutContext<'style>
§info: &'style NodeAndStyleInfo<'dom>
§current_propagated_data: PropagatedBoxTreeData
The value of the PropagatedBoxTreeData
to use, either for the row group
if processing one or for the table itself if outside a row group.
builder: TableBuilder
The TableBuilder
for this TableBuilderTraversal
. This is separated
into another struct so that we can write unit tests against the builder.
current_anonymous_row_content: Vec<AnonymousTableContent<'dom>>
§current_row_group_index: Option<usize>
The index of the current row group, if there is one.
Implementations§
Source§impl<'style, 'dom> TableBuilderTraversal<'style, 'dom>
impl<'style, 'dom> TableBuilderTraversal<'style, 'dom>
pub(crate) fn new( context: &'style LayoutContext<'style>, info: &'style NodeAndStyleInfo<'dom>, grid_style: Arc<ComputedValues>, propagated_data: PropagatedBoxTreeData, ) -> Self
pub(crate) fn finish(self) -> Table
fn finish_anonymous_row_if_needed(&mut self)
fn push_table_row(&mut self, table_track: ArcRefCell<TableTrack>)
Trait Implementations§
Source§impl<'dom> TraversalHandler<'dom> for TableBuilderTraversal<'_, 'dom>
impl<'dom> TraversalHandler<'dom> for TableBuilderTraversal<'_, 'dom>
Source§fn handle_element(
&mut self,
info: &NodeAndStyleInfo<'dom>,
display: DisplayGeneratingBox,
contents: Contents,
box_slot: BoxSlot<'dom>,
)
fn handle_element( &mut self, info: &NodeAndStyleInfo<'dom>, display: DisplayGeneratingBox, contents: Contents, box_slot: BoxSlot<'dom>, )
fn handle_text(&mut self, info: &NodeAndStyleInfo<'dom>, text: Cow<'dom, str>)
Source§fn enter_display_contents(&mut self, _: SharedInlineStyles)
fn enter_display_contents(&mut self, _: SharedInlineStyles)
Notify the handler that we are about to recurse into a
display: contents
element.Source§fn leave_display_contents(&mut self)
fn leave_display_contents(&mut self)
Notify the handler that we have finished a
display: contents
element.Auto Trait Implementations§
impl<'style, 'dom> Freeze for TableBuilderTraversal<'style, 'dom>
impl<'style, 'dom> !RefUnwindSafe for TableBuilderTraversal<'style, 'dom>
impl<'style, 'dom> Send for TableBuilderTraversal<'style, 'dom>
impl<'style, 'dom> Sync for TableBuilderTraversal<'style, 'dom>
impl<'style, 'dom> Unpin for TableBuilderTraversal<'style, 'dom>
impl<'style, 'dom> !UnwindSafe for TableBuilderTraversal<'style, 'dom>
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> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. 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 moreSource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert