/** * Remove a node registration. */ @Override public void deregisterNode(ITreeNode node) { assert SwingUtilities.isEventDispatchThread();// || Starter.isShutdown(); super.deregisterNode(node); }
/** * Set the root node. */ public void setRoot(ITreeNode root) { if(this.root != null) deregisterNode(this.root); this.root = root; if (root != null) addNode(root); // System.err.println(""+hashCode()+" set root"); fireTreeChanged(root); }
/** * Remove a zombie node. */ public void removeZombieNode(ITreeNode node) { synchronized(nodes) { Integer num = zombies.get(node.getId()); if(num.intValue()>1) { num = Integer.valueOf(num.intValue()-1); zombies.put(node.getId(), num); // if(node.getId().toString().startsWith("ANDTest@")) // System.out.println("Zombie node count decreased: "+node+", "+num); } else { // if(node.getId().toString().startsWith("ANDTest@")) // System.out.println("Zombie node removed: "+node+", "+num); deregisterNode(node); } } }
deregisterNode((ITreeNode)node.getCachedChildren().get(i));
/** * Remove a child and update the tree. */ public void removeChild(ITreeNode node) { int index = getIndexOfChild(node); if(index != -1) { // boolean removed = children.remove(node); // if(node.getId().toString().startsWith("ANDTest@")) // System.out.println("removed: "+node+", "+removed); model.deregisterNode(node); model.fireNodeRemoved(this, node, index); if (searching) dirty = true; } else { getModel().addZombieNode(node.getId()); } }