X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=eclipse%2Fruntime%2Forg.argeo.eclipse.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Feclipse%2Fui%2FTreeParent.java;h=c4e74a96fad28de8d0bd38a69f6d97245db87c4b;hb=c0b7b3f9d1781d074ab35d24017042fa9415e1e4;hp=9265d3afa9d2df9d73917dd33c7d14a4aa491878;hpb=92daeb190be66653f39544ae9b5a2f2c31a60797;p=lgpl%2Fargeo-commons.git diff --git a/eclipse/runtime/org.argeo.eclipse.ui/src/main/java/org/argeo/eclipse/ui/TreeParent.java b/eclipse/runtime/org.argeo.eclipse.ui/src/main/java/org/argeo/eclipse/ui/TreeParent.java index 9265d3afa..c4e74a96f 100644 --- a/eclipse/runtime/org.argeo.eclipse.ui/src/main/java/org/argeo/eclipse/ui/TreeParent.java +++ b/eclipse/runtime/org.argeo.eclipse.ui/src/main/java/org/argeo/eclipse/ui/TreeParent.java @@ -20,43 +20,48 @@ import java.util.ArrayList; import java.util.List; public class TreeParent extends TreeObject { - private List children; + private List children; private boolean loaded; public TreeParent(String name) { super(name); - children = new ArrayList(); + children = new ArrayList(); loaded = false; } - public synchronized void addChild(TreeObject child) { + public synchronized void addChild(Object child) { loaded = true; children.add(child); - child.setParent(this); + // bsinou: was 'if (child instanceof TreeParent)' + if (child instanceof TreeObject) + ((TreeObject) child).setParent(this); } - public synchronized void removeChild(TreeObject child) { + public synchronized void removeChild(Object child) { children.remove(child); - child.setParent(null); + if (child instanceof TreeParent) + ((TreeParent) child).setParent(null); + // TODO: clear subtree recursively } public synchronized void clearChildren() { loaded = false; children.clear(); + // TODO: clear also the objects } - public synchronized TreeObject[] getChildren() { - return (TreeObject[]) children.toArray(new TreeObject[children.size()]); + public synchronized Object[] getChildren() { + return children.toArray(new Object[children.size()]); } public synchronized boolean hasChildren() { return children.size() > 0; } - public TreeObject getChildByName(String name) { - for (TreeObject child : children) { - if (child.getName().equals(name)) + public Object getChildByName(String name) { + for (Object child : children) { + if (child.toString().equals(name)) return child; } return null;