Module beamui.widgets.tree

Tree widgets.

Synopsis

// tree example
auto panel = new Panel;
    auto treeItemLabel = new Label;
    auto tree = new TreeWidget;
panel.add(treeItemLabel, tree);

panel.style.display = "column";
treeItemLabel.style.textAlign = TextAlign.center;
tree.style.stretch = Stretch.both;

TreeItem tree1 = tree.items.newChild("g1", "Group 1"d, "folder");
tree1.newChild("g1_1", "item 1"d, "text-plain");
tree1.newChild("g1_2", "item 2"d, "text-plain");
tree1.newChild("g1_3", "item 3"d, "text-plain");
TreeItem tree2 = tree.items.newChild("g2", "Group 2"d);
tree2.newChild("g2_1", "item 1"d);
tree2.newChild("g2_2", "item 2"d);
tree2.newChild("g2_3", "item 3"d);
TreeItem tree2_4 = tree2.newChild("g2_4", "Group 2.1"d);
tree2_4.newChild("g2_4_1", "item 1"d);
tree2_4.newChild("g2_4_2", "item 2"d);
tree2_4.newChild("g2_4_3", "item 3"d);
tree2_4.newChild("g2_4_4", "item 4"d);
tree2_4.newChild("g2_4_5", "item 5"d);
tree2.newChild("g2_5", "item 4"d);

tree.onSelect ~= (TreeItem selectedItem, bool activated) {
    dstring label = "Selected item: "d ~ toUTF32(selectedItem.id) ~ (activated ? " selected + activated"d : " selected"d);
    treeItemLabel.text = label;
};
tree.selectItem("g1");

Import line

import beamui.widgets.tree;

Classes

NameDescription
TreeItemWidget Tree item widget with a label and icon
TreeItemWidgetBase Abstract tree item
TreeWidget