Struct VirtualTreeTable
pub struct VirtualTreeTable<T, V, Id, H, K = String>where
V: Deref<Target = [T]> + Clone + 'static,
T: PartialEq + Clone + 'static,
Id: Eq + Hash + Clone + Send + Sync + 'static,
H: View,
K: Eq + Hash + Clone + PartialEq + Send + Sync + 'static,{ /* private fields */ }Implementations§
§impl<T, V, Id, H, K> VirtualTreeTable<T, V, Id, H, K>
impl<T, V, Id, H, K> VirtualTreeTable<T, V, Id, H, K>
pub fn new<S, U, C, R, F>( cx: &mut Context, tree: S, columns: C, item_height: f32, flatten_rows: F, row_id: impl Fn(&T) -> Id + 'static, parent_id: impl Fn(&T) -> Option<Id> + 'static, ) -> Handle<'_, VirtualTreeTable<T, V, Id, H, K>>
pub fn from_rows<S, C, R>(
cx: &mut Context,
rows: S,
columns: C,
item_height: f32,
row_id: impl Fn(&T) -> Id + 'static,
parent_id: impl Fn(&T) -> Option<Id> + 'static,
) -> Handle<'_, VirtualTreeTable<T, V, Id, H, K>>where
S: Res<V> + 'static,
C: Res<R> + 'static,
R: Deref<Target = [TreeTableColumn<T, Id, H, K>]> + Clone + 'static,
§impl<Id, H, K> VirtualTreeTable<TreeNodeRow<Id>, Vec<TreeNodeRow<Id>>, Id, H, K>
impl<Id, H, K> VirtualTreeTable<TreeNodeRow<Id>, Vec<TreeNodeRow<Id>>, Id, H, K>
pub fn from_hierarchy<S, U, C, R>(
cx: &mut Context,
tree: S,
columns: C,
item_height: f32,
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<'_, VirtualTreeTable<TreeNodeRow<Id>, Vec<TreeNodeRow<Id>>, Id, H, K>>where
S: Res<U> + 'static,
U: Clone + 'static,
C: Res<R> + 'static,
R: Deref<Target = [TreeTableColumn<TreeNodeRow<Id>, Id, H, K>]> + Clone + 'static,
pub fn from_hierarchy<S, U, C, R>(
cx: &mut Context,
tree: S,
columns: C,
item_height: f32,
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<'_, VirtualTreeTable<TreeNodeRow<Id>, Vec<TreeNodeRow<Id>>, Id, H, K>>where
S: Res<U> + 'static,
U: Clone + 'static,
C: Res<R> + 'static,
R: Deref<Target = [TreeTableColumn<TreeNodeRow<Id>, Id, H, K>]> + Clone + 'static,
Creates a VirtualTreeTable directly from hierarchical data.
Provide closures to enumerate root node IDs and child node IDs for a given parent.
The order returned by those closures is preserved; filtering only removes hidden
nodes and their descendants.
The table manages expand/collapse state and internally projects IDs into
TreeNodeRow values.
Trait Implementations§
§impl<T, V, Id, H, K> View for VirtualTreeTable<T, V, Id, H, K>
impl<T, V, Id, H, K> View for VirtualTreeTable<T, V, Id, H, 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, H, K> Freeze for VirtualTreeTable<T, V, Id, H, K>
impl<T, V, Id, H, K = String> !RefUnwindSafe for VirtualTreeTable<T, V, Id, H, K>
impl<T, V, Id, H, K = String> !Send for VirtualTreeTable<T, V, Id, H, K>
impl<T, V, Id, H, K = String> !Sync for VirtualTreeTable<T, V, Id, H, K>
impl<T, V, Id, H, K> Unpin for VirtualTreeTable<T, V, Id, H, K>
impl<T, V, Id, H, K> UnsafeUnpin for VirtualTreeTable<T, V, Id, H, K>
impl<T, V, Id, H, K = String> !UnwindSafe for VirtualTreeTable<T, V, Id, H, 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.