X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=eclipse%2Fruntime%2Forg.argeo.eclipse.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Feclipse%2Fui%2FTreeParent.java;h=c4e74a96fad28de8d0bd38a69f6d97245db87c4b;hb=c0b7b3f9d1781d074ab35d24017042fa9415e1e4;hp=562e730500b2bf433396fef16e1be1825f06c534;hpb=6273335fce7b2c72c0e921f265f839850c107939;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 562e73050..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(TreeParent 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(TreeParent 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 TreeParent[children.size()]); + public synchronized Object[] getChildren() { + return children.toArray(new Object[children.size()]); } public synchronized boolean hasChildren() { return children.size() > 0; } - public TreeParent getChildByName(String name) { - for (TreeParent 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;