pub struct RowNode {
pub id: String,
pub cells: HashMap<String, Value>,
pub editable: bool,
pub selected: bool,
pub expanded: bool,
pub actions: Vec<RowAction>,
pub children: Vec<RowNode>,
}Expand description
One row. Rows nest — this is a TREE, not a flat table — and each row’s cells are looked up by column key, so adding a column never touches the row builder’s shape.
Fields§
§id: StringStable, unique across the whole tree — the id every out-value names.
cells: HashMap<String, Value>Cell values by column key. A missing key draws an empty cell.
editable: boolWhether this row’s cells accept edits. A read-only row still draws its values (and its buttons), it just cannot be typed into — the BOM’s nested sub-assembly rows, whose data belongs to another document.
selected: boolDraw the first column’s label emphasized (the selected row).
expanded: boolExpansion is the CALLER’s, as in panels::tree.
actions: Vec<RowAction>What this row offers, in menu order. EMPTY means the row offers nothing: its trigger cell draws greyed and a right-click on it opens nothing (the BOM’s nested sub-assembly rows, which own no feature in this document).
children: Vec<RowNode>Implementations§
Trait Implementations§
impl StructuralPartialEq for RowNode
Auto Trait Implementations§
impl Freeze for RowNode
impl RefUnwindSafe for RowNode
impl Send for RowNode
impl Sync for RowNode
impl Unpin for RowNode
impl UnsafeUnpin for RowNode
impl UnwindSafe for RowNode
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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)
&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)
&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> DowncastSync for T
impl<T> DowncastSync for T
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> ⓘ
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