/** Notification of children addded event. Modifies the list of nodes * and fires info to all listeners. */ public void added (VisualizerEvent.Added ev) { ListIterator it = list.listIterator (); boolean empty = !it.hasNext (); int[] indxs = ev.getArray (); Node[] nodes = ev.getAdded (); int current = 0; int inIndxs = 0; while (inIndxs < indxs.length) { while (current++ < indxs[inIndxs]) { it.next (); } it.add (VisualizerNode.getVisualizer (this, nodes[inIndxs])); inIndxs++; } VisualizerNode parent = this.parent; while (parent != null) { Object[] listeners = parent.getListenerList (); for (int i = listeners.length - 1; i >= 0; i -= 2) { ((NodeModel)listeners[i]).added (ev); } parent = (VisualizerNode)parent.getParent (); } if (empty) { // change of state this.parent.notifyVisualizerChildrenChange (list.size (), this); } }
/** Notification of children addded event. Modifies the list of nodes * and fires info to all listeners. */ public void added (VisualizerEvent.Added ev) { ListIterator it = list.listIterator (); boolean empty = !it.hasNext (); int[] indxs = ev.getArray (); Node[] nodes = ev.getAdded (); int current = 0; int inIndxs = 0; while (inIndxs < indxs.length) { while (current++ < indxs[inIndxs]) { it.next (); } it.add (VisualizerNode.getVisualizer (this, nodes[inIndxs])); inIndxs++; } VisualizerNode parent = this.parent; while (parent != null) { Object[] listeners = parent.getListenerList (); for (int i = listeners.length - 1; i >= 0; i -= 2) { ((NodeModel)listeners[i]).added (ev); } parent = (VisualizerNode)parent.getParent (); } if (empty) { // change of state this.parent.notifyVisualizerChildrenChange (list.size (), this); } }