pub struct Table { /* private fields */ }Expand description
A columnar layout backing the <table> markup tag.
Cells align vertically: every column is solved once across all rows
(widest cell wins), surplus room goes to grow columns, and a deficit
shrinks the widest flexible column first — pairing with cell-level
truncate so a name column collapses with an ellipsis while pinned
stat columns keep their alignment. Layout only: rows never capture
input; interactive lists wrap cells in <select> options instead.
Implementations§
Trait Implementations§
Source§impl Component for Table
impl Component for Table
Source§fn children_mut(&mut self) -> &mut [Cached]
fn children_mut(&mut self) -> &mut [Cached]
Every owned child, including embedded inactive subtrees.
Source§fn measure(&mut self, ctx: &UiContext) -> (u16, u16)
fn measure(&mut self, ctx: &UiContext) -> (u16, u16)
Content width bounds, exclusive of this component’s chrome.
Source§fn height(&mut self, ctx: &UiContext, width: u16) -> u16
fn height(&mut self, ctx: &UiContext, width: u16) -> u16
Content height at the supplied content width.
Source§fn place(&mut self, ctx: &UiContext, content: Rect)
fn place(&mut self, ctx: &UiContext, content: Rect)
Places children inside the supplied content rectangle.
Source§fn paint(&mut self, pc: &mut PaintCtx<'_>, rect: Rect)
fn paint(&mut self, pc: &mut PaintCtx<'_>, rect: Rect)
Paints content inside the supplied content rectangle.
Source§fn kind(&self) -> &'static str
fn kind(&self) -> &'static str
Concrete implementation name for debug tooling; defaults to the
type’s full path via
std::any::type_name. The OMP_TUI_DEBUG
tree dump trims it to the trailing path segment.Source§fn paints_border(&self) -> bool
fn paints_border(&self) -> bool
Whether
Cached should paint this component’s border property as
chrome.Source§fn paints_background(&self) -> bool
fn paints_background(&self) -> bool
Whether
Cached should paint this component’s background property
across its rectangle. Components that own a partial background fill opt
out and paint it themselves.Source§fn gradient_bounds(&self, content: Rect) -> Option<Rect>
fn gradient_bounds(&self, content: Rect) -> Option<Rect>
A narrowed projection frame for two-stop
fg=/bg= ramps, given the
painted content rectangle. None projects across the full chrome;
content-sized leaves (crate::components::Pre) return their authored
extent so the ramp completes across the glyphs instead of the
stretched layout width.Source§fn resize_tail(&mut self) -> Option<ResizeTail<'_>>
fn resize_tail(&mut self) -> Option<ResizeTail<'_>>
Opt-in viewport-tail provider for resize drags: children a drag
frame may compose bottom-up, with the vertical gap between them.
None — the default — renders this component whole. Read moreSource§fn validation_error(&self) -> Option<String>
fn validation_error(&self) -> Option<String>
A validation error blocking submission — an unmet
required or
match= constraint owned by this component’s internal records;
None when valid. Component-level props are checked by the caller.Source§fn stretch_in_row(&self) -> bool
fn stretch_in_row(&self) -> bool
Whether a row should stretch this component across its cross axis.
Source§fn focusable(&self) -> bool
fn focusable(&self) -> bool
Whether this component contributes its own slot to the focus ring.
The default honors the
focus flag, so any container can opt into
keyboard navigation from markup.Source§fn enter(&mut self, forward: bool)
fn enter(&mut self, forward: bool)
Positions internal selection when focus enters from either direction.
Source§fn mouse(
&mut self,
ec: &mut EventCtx<'_>,
tag: HitTag,
at: (u16, u16),
rect: Rect,
mouse: Mouse,
) -> Flow
fn mouse( &mut self, ec: &mut EventCtx<'_>, tag: HitTag, at: (u16, u16), rect: Rect, mouse: Mouse, ) -> Flow
Handles a mouse gesture over one of this component’s hit regions.
Source§fn paste(&mut self, ec: &mut EventCtx<'_>, text: &str) -> Flow
fn paste(&mut self, ec: &mut EventCtx<'_>, text: &str) -> Flow
Pastes text into this component:
Flow::Consumed repaints,
Flow::Event additionally surfaces a crate::UiEvent, and
Flow::Skip leaves the paste unhandled.Source§fn paste_raw(&mut self, ec: &mut EventCtx<'_>, text: &str) -> Flow
fn paste_raw(&mut self, ec: &mut EventCtx<'_>, text: &str) -> Flow
Pastes text verbatim, bypassing any smart-paste interpretation the
component applies in
Component::paste (drop classification,
large-paste collapse). Defaults to Component::paste for
components without such interpretation.Auto Trait Implementations§
impl !RefUnwindSafe for Table
impl !Send for Table
impl !Sync for Table
impl !UnwindSafe for Table
impl Freeze for Table
impl Unpin for Table
impl UnsafeUnpin for Table
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> IntoChildren for Twhere
T: IntoComponent,
impl<T> IntoChildren for Twhere
T: IntoComponent,
Source§fn extend_children(self, out: &mut Vec<Cached>)
fn extend_children(self, out: &mut Vec<Cached>)
Appends all represented children to
out.Source§impl<T> IntoComponent for Twhere
T: Component + 'static,
impl<T> IntoComponent for Twhere
T: Component + 'static,
Source§fn into_component(self) -> Box<dyn Component>
fn into_component(self) -> Box<dyn Component>
Performs the conversion.
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