1use {
2 cursive::{view::*, *},
3 cursive_tree::*,
4};
5
6fn main() {
9 let mut cursive = Cursive::default();
10
11 let mut tree = SimpleTreeBackend::tree_view(());
12
13 tree.model.add_root(NodeKind::Leaf, (), "Hello".into());
16 tree.model.add_root(NodeKind::Branch, (), "World".into());
17
18 let world = tree.model.at_path_mut([1].into()).unwrap();
22 for i in 0..10 {
23 world.add_child(NodeKind::Leaf, (), format!("Child #{}", i + 1).into());
24 }
25 world.expand_branch(()).unwrap();
26
27 for c in 4..10 {
31 let child = tree.model.at_path_mut([1, c].into()).unwrap();
32 child.kind = NodeKind::Branch;
33 for gc in 0..10 {
34 child.add_child(NodeKind::Leaf, (), format!("Grandchild #{}", gc + 1).into());
35 }
36 }
37
38 cursive.add_fullscreen_layer(tree.scrollable());
39 cursive.add_global_callback('q', |cursive| cursive.quit());
40
41 cursive.run();
42}