Как добавить дочерний узел в выбранный узел TreeViewer в RCP 3.x
[Работа] У меня есть предопределенный просмотрщик дерева, где я могу динамически добавлять узлы в дерево, которое добавляется в конце.
Если я выберу узел и добавлю новый узел, этот новый узел должен быть добавлен в качестве дочернего к выбранному узлу. Кто-нибудь может мне помочь с этим?
Фрагмент моего рабочего кода
add.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
Shell dShell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
ShowDialog1 dialog = new ShowDialog1(dShell);
dialog.create();
if (dialog.open() == Window.OK) {
first = dialog.getFirstName();
treeViewer.setInput(getRootNode(first));
}
}
});
getRootNode()
public static ProjectTree mc = new ProjectTree("root");
private static ProjectTree getRootNode(String first) {
ProjectTree node1 = new ProjectTree(first);
mc.addChild(node1, "");
return mc;
}
Класс ProjectTree
public class ProjectTree {
private String name;
private ArrayList<ProjectTree> children = new ArrayList<ProjectTree>();
private ProjectTree parent;
private String filepath;
public ProjectTree(String n) {
name = n;
}
public ProjectTree addChild(ProjectTree child, String filepath) {
children.add(child);
child.parent = this;
child.filepath = filepath;
child.name = child.name;
System.out.println("Children : " + children);
return this;
}
}