pub struct Tree { /* private fields */ }Expand description
A disclosure hierarchy.
Implementations§
Source§impl Tree
impl Tree
pub fn new(ident: impl Into<Ident>) -> Self
pub fn node(self, node: TreeNode) -> Self
pub fn nodes(self, nodes: impl IntoIterator<Item = TreeNode>) -> Self
pub fn expanded(self, ids: impl IntoIterator<Item = SharedString>) -> Self
pub fn expanded_ids<S: AsRef<str>>(self, ids: &[S]) -> Self
pub fn selected(self, id: impl Into<SharedString>) -> Self
Sourcepub fn visible_rows(self, rows: usize) -> Self
pub fn visible_rows(self, rows: usize) -> Self
Bounds the viewport to rows rows, which is what lets the tree skip
the disclosed rows it does not show.
Without it the tree sizes itself to its content, which is the right answer for a hierarchy a reader takes in whole and the wrong one for a workspace with ten thousand files open.
pub fn on_toggle( self, handler: impl Fn(SharedString, bool, &mut Window, &mut App) + 'static, ) -> Self
pub fn on_select( self, handler: impl Fn(SharedString, &mut Window, &mut App) + 'static, ) -> Self
Sourcepub fn reorderable(self, reorderable: bool) -> Self
pub fn reorderable(self, reorderable: bool) -> Self
Lets a node be picked up and put somewhere else in the hierarchy.
Sourcepub fn accepts(
self,
predicate: impl Fn(&DragItem, &DropPosition) -> bool + 'static,
) -> Self
pub fn accepts( self, predicate: impl Fn(&DragItem, &DropPosition) -> bool + 'static, ) -> Self
Whether this tree takes a payload, and where.
Structural impossibilities are refused before this is consulted: a node cannot be moved inside itself or below one of its own descendants, because the descendant travels with it. Everything else — which kinds of node may hold which — is policy, and policy is the caller’s.
Trait Implementations§
Source§impl IntoElement for Tree
impl IntoElement for Tree
Source§type Element = ViewElement<Tree>
type Element = ViewElement<Tree>
The specific type of element into which the implementing type is converted.
Useful for converting other types into elements automatically, like Strings
Source§fn into_element(self) -> Self::Element
fn into_element(self) -> Self::Element
Convert self into a type that implements
Element.Source§fn into_any_element(self) -> AnyElement
fn into_any_element(self) -> AnyElement
Convert self into a dynamically-typed
AnyElement.Source§impl RenderOnce for Tree
impl RenderOnce for Tree
Source§fn render(self, window: &mut Window, cx: &mut App) -> impl IntoElement
fn render(self, window: &mut Window, cx: &mut App) -> impl IntoElement
Render this component into an element tree. Note that this method
takes ownership of self, as compared to
Render::render() method
which takes a mutable reference.Auto Trait Implementations§
impl !RefUnwindSafe for Tree
impl !Send for Tree
impl !Sync for Tree
impl !UnwindSafe for Tree
impl Freeze for Tree
impl Unpin for Tree
impl UnsafeUnpin for Tree
Blanket Implementations§
Source§impl<E> AnimationExt for Ewhere
E: IntoElement + 'static,
impl<E> AnimationExt for Ewhere
E: IntoElement + 'static,
Source§fn with_animation(
self,
id: impl Into<ElementId>,
animation: Animation,
animator: impl Fn(Self, f32) -> Self + 'static,
) -> AnimationElement<Self>where
Self: Sized,
fn with_animation(
self,
id: impl Into<ElementId>,
animation: Animation,
animator: impl Fn(Self, f32) -> Self + 'static,
) -> AnimationElement<Self>where
Self: Sized,
Render this component or element with an animation
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<E> Flipping for Ewhere
E: IntoElement,
impl<E> Flipping for Ewhere
E: IntoElement,
Source§impl<T> FluentBuilder for Twhere
T: IntoElement,
impl<T> FluentBuilder for Twhere
T: IntoElement,
Source§fn map<U>(self, f: impl FnOnce(Self) -> U) -> Uwhere
Self: Sized,
fn map<U>(self, f: impl FnOnce(Self) -> U) -> Uwhere
Self: Sized,
Imperatively modify self with the given closure.
Source§fn when(self, condition: bool, then: impl FnOnce(Self) -> Self) -> Selfwhere
Self: Sized,
fn when(self, condition: bool, then: impl FnOnce(Self) -> Self) -> Selfwhere
Self: Sized,
Conditionally modify self with the given closure.
Source§fn when_else(
self,
condition: bool,
then: impl FnOnce(Self) -> Self,
else_fn: impl FnOnce(Self) -> Self,
) -> Selfwhere
Self: Sized,
fn when_else(
self,
condition: bool,
then: impl FnOnce(Self) -> Self,
else_fn: impl FnOnce(Self) -> Self,
) -> Selfwhere
Self: Sized,
Conditionally modify self with the given closure.
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 more