1 22 23 package org.aspectj.debugger.gui; 24 25 import org.aspectj.debugger.base.*; 26 27 import com.sun.jdi.*; 28 import java.awt.Dimension ; 29 import java.util.List ; 30 import java.util.*; 31 import javax.swing.*; 32 import javax.swing.tree.*; 33 34 37 public abstract class AJTree extends JTree { 38 39 public AJTree(TreeModel model) { 40 super(model); 41 init(); 42 } 43 44 47 public AJTree() { 48 init(); 49 } 50 51 56 public AJTree(AJRootNode root) { 57 super(root); 58 init(); 59 } 60 61 66 public AJRootNode getRoot() { 67 return (AJRootNode) getModel().getRoot(); 68 } 69 70 76 public void setRoot(AJRootNode root) { 77 ((DefaultTreeModel) getModel()).setRoot(root); 78 } 79 80 84 protected void expand() { 85 int row = 0; 86 while (row < this.getRowCount()) { 87 expandRow(row++); 88 } 89 } 90 91 115 116 119 public abstract void clear(); 120 121 public void reloadAll() { 122 DefaultTreeModel model = (DefaultTreeModel) getModel(); 124 Enumeration nodes = ((DefaultMutableTreeNode) model.getRoot()).breadthFirstEnumeration(); 125 while (nodes.hasMoreElements()) { 126 DefaultMutableTreeNode node = (DefaultMutableTreeNode) nodes.nextElement(); 127 if (node.isLeaf() || ((AJTreeNode) node).isString()) { 128 model.reload(node); 129 } 130 } 131 } 132 133 136 public final void modernize() { 137 Runnable update = new Runnable () { 138 public void run() { 139 try { 140 doModernize(); 141 } catch (VMDisconnectedException vmde) { 142 } 143 } 144 }; 145 if (SwingUtilities.isEventDispatchThread()) { 146 update.run(); 147 } else { 148 SwingUtilities.invokeLater(update); 149 } 150 } 152 153 public void doModernize() { 154 AJTree.super.updateUI(); 155 } 156 157 163 protected final void init() { 164 putClientProperty("JTree.lineStyle", "Angled"); 165 setEditable(false); 166 setMinimumSize(new Dimension (100,200)); 168 getSelectionModel().setSelectionMode 169 (TreeSelectionModel.SINGLE_TREE_SELECTION); 170 addTreeWillExpandListener(new AJTreeWillExpandListener(this)); 171 addTreeExpansionListener(new AJTreeExpansionListener(this)); 172 } 174 } 175 | Popular Tags |