tree
Builds Icon Toggle ToggleGroup Tree


The code that drew it
A still frame holds a repeating animation at its first frame and a one-shot at its last, because a still of a moving thing is not reproducible. Run the gallery to review motion.
fn tree(_window: &mut Window, cx: &mut App) -> AnyElement {
let theme = cx.theme().clone();
stack(&theme)
.w(px(360.0))
.child(
Tree::new("scene.tree.workspace")
.expanded_ids(&["workspace", "crates"])
.selected("tokens")
.nodes([
TreeNode::new("workspace", "workspace")
.icon(Icon::Folder)
.children([
TreeNode::new("crates", "crates")
.icon(Icon::Folder)
.children([
TreeNode::new("kit", "gpui-kit").icon(Icon::Document),
TreeNode::new("tokens", "gpui-kit-tokens").icon(Icon::Document),
]),
TreeNode::new("docs", "docs")
.icon(Icon::Folder)
.children([TreeNode::new("components", "components.md")
.icon(Icon::Document)]),
]),
TreeNode::new("target", "target")
.icon(Icon::Archive)
.disabled(true)
.children([TreeNode::new("debug", "debug").icon(Icon::Folder)]),
])
.on_toggle(|_, _, _, _| {})
.on_select(|_, _, _| {}),
)
.into_any_element()
}