1 package io.github.magwas.inez.ui;
2
3 import javafx.scene.control.TreeCell;
4 import javafx.scene.control.TreeItem;
5 import javafx.scene.control.TreeView;
6 import javafx.util.Callback;
7
8 import io.github.magwas.inez.element.BridiElement;
9
10 public class BridiCellFactory implements Callback<TreeView<BridiElement>, TreeCell<BridiElement>> {
11
12 @Override
13 public TreeCell<BridiElement> call(TreeView<BridiElement> param) {
14 return new TreeCell<>() {
15 @Override
16 protected void updateItem(final BridiElement item, final boolean empty) {
17 super.updateItem(item, empty);
18 if (empty || item == null) {
19 setText(null);
20 setGraphic(null);
21 } else {
22 setText(item.getRepresentation());
23 TreeItem<BridiElement> treeItem = getTreeItem();
24 if (treeItem != null) {
25 setGraphic(treeItem.getGraphic());
26 }
27 }
28 }
29 };
30 }
31 }