X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Futil%2Fswing%2FSortableTreeNode.java;h=056b70892bcb1116289f8d38215478ae85ac32db;hb=a535352b12b5b11c04c64f187062771f1ba790ae;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;