Struct TreeTable
pub struct TreeTable<T, V, Id, K = String>where
V: Deref<Target = [T]> + Clone + 'static,
T: PartialEq + Clone + 'static,
Id: Eq + Hash + Clone + Send + Sync + 'static,
K: Eq + Hash + Clone + PartialEq + Send + Sync + 'static,{ /* private fields */ }Implementations§
§impl<T, V, Id, K> TreeTable<T, V, Id, K>
impl<T, V, Id, K> TreeTable<T, V, Id, K>
pub fn new<S, U, C, R, H, F>( cx: &mut Context, tree: S, columns: C, flatten_rows: F, row_id: impl Fn(&T) -> Id + 'static, parent_id: impl Fn(&T) -> Option<Id> + 'static, ) -> Handle<'_, TreeTable<T, V, Id, K>>
pub fn from_rows<S, C, R, H>( cx: &mut Context, rows: S, columns: C, row_id: impl Fn(&T) -> Id + 'static, parent_id: impl Fn(&T) -> Option<Id> + 'static, ) -> Handle<'_, TreeTable<T, V, Id, K>>
§impl<Id, K> TreeTable<TreeNodeRow<Id>, Vec<TreeNodeRow<Id>>, Id, K>
impl<Id, K> TreeTable<TreeNodeRow<Id>, Vec<TreeNodeRow<Id>>, Id, K>
pub fn from_hierarchy<S, U, C, R, H>(
cx: &mut Context,
tree: S,
columns: C,
root_ids: impl Fn(&U) -> Vec<Id> + 'static,
child_ids: impl Fn(&U, &Id) -> Vec<Id> + 'static,
is_visible: impl Fn(&U, &Id) -> bool + 'static,
) -> Handle<'_, TreeTable<TreeNodeRow<Id>, Vec<TreeNodeRow<Id>>, Id, K>>where
S: Res<U> + 'static,
U: Clone + 'static,
C: Res<R> + 'static,
R: Deref<Target = [TreeTableColumn<TreeNodeRow<Id>, Id, H, K>]> + Clone + 'static,
H: Clone + View,
pub fn from_hierarchy<S, U, C, R, H>(
cx: &mut Context,
tree: S,
columns: C,
root_ids: impl Fn(&U) -> Vec<Id> + 'static,
child_ids: impl Fn(&U, &Id) -> Vec<Id> + 'static,
is_visible: impl Fn(&U, &Id) -> bool + 'static,
) -> Handle<'_, TreeTable<TreeNodeRow<Id>, Vec<TreeNodeRow<Id>>, Id, K>>where
S: Res<U> + 'static,
U: Clone + 'static,
C: Res<R> + 'static,
R: Deref<Target = [TreeTableColumn<TreeNodeRow<Id>, Id, H, K>]> + Clone + 'static,
H: Clone + View,
Creates a TreeTable directly from hierarchical data.
Provide closures to enumerate root node IDs and child node IDs for a given parent.
The returned order is the order provided by those closures; filtering only removes
invisible nodes and their descendants.
The table manages expand/collapse state and internally projects IDs into
TreeNodeRow values.
Trait Implementations§
§impl<T, V, Id, K> View for TreeTable<T, V, Id, K>
impl<T, V, Id, K> View for TreeTable<T, V, Id, K>
§fn element(&self) -> Option<&'static str>
fn element(&self) -> Option<&'static str>
Specifies a name for the view type which can be used as an element selector in css. Read more
§fn event(&mut self, cx: &mut EventContext<'_>, event: &mut Event)
fn event(&mut self, cx: &mut EventContext<'_>, event: &mut Event)
Handles any events received by the view. Read more
§fn build<F>(self, cx: &mut Context, content: F) -> Handle<'_, Self>
fn build<F>(self, cx: &mut Context, content: F) -> Handle<'_, Self>
Builds the view into the tree and returns a handle which can be used to apply style and layout modifiers to the view. Read more
§fn draw(&self, cx: &mut DrawContext<'_>, canvas: &Canvas)
fn draw(&self, cx: &mut DrawContext<'_>, canvas: &Canvas)
Provides custom drawing for the view. Read more
§fn accessibility(&self, cx: &mut AccessContext<'_>, node: &mut AccessNode)
fn accessibility(&self, cx: &mut AccessContext<'_>, node: &mut AccessNode)
Provides a way to configure the accessibility features of a view.
Auto Trait Implementations§
impl<T, V, Id, K> Freeze for TreeTable<T, V, Id, K>
impl<T, V, Id, K = String> !RefUnwindSafe for TreeTable<T, V, Id, K>
impl<T, V, Id, K = String> !Send for TreeTable<T, V, Id, K>
impl<T, V, Id, K = String> !Sync for TreeTable<T, V, Id, K>
impl<T, V, Id, K> Unpin for TreeTable<T, V, Id, K>
impl<T, V, Id, K> UnsafeUnpin for TreeTable<T, V, Id, K>
impl<T, V, Id, K = String> !UnwindSafe for TreeTable<T, V, Id, K>
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
§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>
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.§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.§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.§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.