public int getChildCount() { return getVisNodes(false).size(); }
private void addVisNodesInfo(StringBuilder sb) { final List<VisualizerNode> vn = getVisNodes(false); for (int i = 0; i < vn.size(); i++) { VisualizerNode node = vn.get(i); sb.append(" ").append(i); // NOI18N if (node != null) { sb.append(" = ").append(node.toId()); // NOI18N } else { sb.append(" = null"); // NOI18N } sb.append('\n'); // NOI18N } }
/** Delegated to us from VisualizerNode * */ public int getIndex(final javax.swing.tree.TreeNode p1) { VisualizerNode visNode = (VisualizerNode) p1; if (visNode.indexOf != -1) { final List<VisualizerNode> vn = getVisNodes(false); if (visNode.indexOf >= vn.size() || vn.get(visNode.indexOf) != visNode) { return -1; } } else { recomputeIndexes(visNode); } return visNode.indexOf; }
@Override public String toString() { String str = ""; if (parent != null) { str = "Parent: " + parent + " "; } str += "["; for (VisualizerNode vn : getVisNodes(false)) { str += vn; if (vn != null) { VisualizerChildren vch = vn.getChildren(false); if (vch != VisualizerChildren.EMPTY) { str += vch; } } str += " "; } str += " {" + snapshot + "}"; str += "]"; return str; }
/** recomputes indexes for all nodes. * @param tn tree node that we are looking for */ private void recomputeIndexes(VisualizerNode tn) { final List<VisualizerNode> vn = getVisNodes(true); assert vn.size() == snapshot.size() : "visnodes.size()=" + vn.size() + " snapshot.size()=" + snapshot.size(); for (int i = 0; i < vn.size(); i++) { VisualizerNode node = vn.get(i); if (node != null) { node.indexOf = i; } } if (tn != null && tn.indexOf == -1) { // not computed => force computation for (int i = 0; i < vn.size(); i++) { VisualizerNode visNode = (VisualizerNode) getChildAt(i); visNode.indexOf = i; if (visNode == tn) { return; } } } }
public javax.swing.tree.TreeNode getChildAt(int pos) { final List<VisualizerNode> vn = getVisNodes(false); if (pos >= vn.size()) { return VisualizerNode.EMPTY; } VisualizerNode visNode = vn.get(pos); if (visNode == null) { Node node = snapshot.get(pos); if (node == null) { throw new NullPointerException("snapshot: " + snapshot + " pos: " + pos + " parent: " + parent); // NOI18N } visNode = VisualizerNode.getVisualizer(this, node); visNode.indexOf = pos; vn.set(pos, visNode); parent.notifyVisualizerChildrenChange(false, this); } return visNode; }
final List<VisualizerNode> vn = getVisNodes(true); VisualizerNode[] old = vn.toArray(new VisualizerNode[vn.size()]); VisualizerNode[] arr = new VisualizerNode[old.length];
/** 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(); } }
return; final List<VisualizerNode> vn = getVisNodes(true); if (vn.isEmpty()) { return;