X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Futil%2Fswing%2FSortableTreeNode.java;h=056b70892bcb1116289f8d38215478ae85ac32db;hb=c63257e8cc0ba1a5aca9364b22171abe7279d479;hp=dbdeb6832713621d8b74dd4745e35460bb2e3232;hpb=6e9e21a8b9631a4f24d9ebc1e83067e51edb28b2;p=jSite2.git diff --git a/src/net/pterodactylus/util/swing/SortableTreeNode.java b/src/net/pterodactylus/util/swing/SortableTreeNode.java index dbdeb68..056b708 100644 --- a/src/net/pterodactylus/util/swing/SortableTreeNode.java +++ b/src/net/pterodactylus/util/swing/SortableTreeNode.java @@ -30,7 +30,7 @@ import javax.swing.tree.TreeNode; /** * {@link MutableTreeNode} subclass that allows to sort its children. - * + * * @author David ‘Bombe’ Roden <bombe@freenetproject.org> */ public class SortableTreeNode implements MutableTreeNode { @@ -49,7 +49,7 @@ public class SortableTreeNode implements MutableTreeNode { /** * Creates a new sortable tree node. - * + * * @param allowsChildren * true if this node allows children, * false otherwise @@ -61,7 +61,7 @@ public class SortableTreeNode implements MutableTreeNode { /** * Creates a new sortable tree node that contains the given user-defined * object. - * + * * @param userObject * The user-defined object */ @@ -72,7 +72,7 @@ public class SortableTreeNode implements MutableTreeNode { /** * Creates a new sortable tree node that contains the given user-defined * object. - * + * * @param userObject * The user-defined object * @param allowsChildren @@ -125,7 +125,7 @@ public class SortableTreeNode implements MutableTreeNode { /** * Returns the user-defined object. - * + * * @return The user-defined object */ public Object getUserObject() { @@ -139,13 +139,20 @@ public class SortableTreeNode implements MutableTreeNode { return children.isEmpty(); } + /** + * {@inheritDoc} + */ + public Enumeration children() { + return Collections.enumeration(children); + } + // // ACTIONS // /** * Adds the given node to this node as a child. - * + * * @param child * The child node to add */ @@ -159,13 +166,14 @@ public class SortableTreeNode implements MutableTreeNode { */ public void insert(MutableTreeNode child, int index) { children.add(index, child); + child.setParent(this); } /** * {@inheritDoc} */ public void remove(int index) { - children.remove(index); + children.remove(index).setParent(null); } /** @@ -173,6 +181,7 @@ public class SortableTreeNode implements MutableTreeNode { */ public void remove(MutableTreeNode node) { children.remove(node); + node.setParent(null); } /** @@ -186,6 +195,16 @@ public class SortableTreeNode implements MutableTreeNode { } /** + * Removes all children of this node. + */ + public void removeAll() { + for (MutableTreeNode childNode : children) { + childNode.setParent(null); + } + children.clear(); + } + + /** * {@inheritDoc} */ public void setParent(MutableTreeNode newParent) { @@ -235,13 +254,6 @@ public class SortableTreeNode implements MutableTreeNode { /** * {@inheritDoc} */ - public Enumeration children() { - return Collections.enumeration(children); - } - - /** - * {@inheritDoc} - */ @Override public String toString() { return (userObject != null) ? userObject.toString() : null;