/** 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); } }
/** Notification of children addded event. Modifies the list of nodes * and fires info to all listeners. */ public void added(VisualizerEvent.Added ev) { if (this != parent.getChildren()) { // children were replaced, quit processing event return; } snapshot = ev.getSnapshot(); ListIterator<VisualizerNode> it = getVisNodes(true).listIterator(); int[] indxs = ev.getArray(); int current = 0; int inIndxs = 0; while (inIndxs < indxs.length) { while (current++ < indxs[inIndxs]) { it.next(); } it.add(null); inIndxs++; } recomputeIndexes(null); VisualizerNode p = this.parent; while (p != null) { Object[] listeners = p.getListenerList(); for (int i = listeners.length - 1; i >= 0; i -= 2) { ((NodeModel) listeners[i]).added(ev); } p = (VisualizerNode) p.getParent(); } }