View Javadoc
1   package io.github.magwas.inez.ui;
2   
3   import java.io.IOException;
4   import javafx.scene.control.TreeCell;
5   import javafx.scene.control.TreeView;
6   import javafx.util.Callback;
7   
8   import org.springframework.beans.factory.annotation.Autowired;
9   import org.springframework.stereotype.Service;
10  
11  import io.github.magwas.inez.Inez;
12  import io.github.magwas.inez.element.BridiElement;
13  
14  @Service
15  public class CreateTreeViewService {
16  
17  	@Autowired
18  	Inez inez;
19  
20  	TreeView<BridiElement> apply() throws IOException {
21  
22  		BridiElement rootElement = inez.root();
23  
24  		BridiElementTreeItem rootItem = new BridiElementTreeItem(rootElement);
25  		TreeView<BridiElement> treeView = new TreeView<>(rootItem);
26  
27  		treeView.setEditable(true);
28  		Callback<TreeView<BridiElement>, TreeCell<BridiElement>> callback = new BridiCellFactory();
29  		treeView.setCellFactory(callback);
30  
31  		treeView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
32  			if (newValue != null) {
33  				System.out.println("Selected: " + newValue.getValue());
34  			}
35  		});
36  		return treeView;
37  	}
38  }