1 22 23 package salsa.tree; 24 25 import java.util.*; 26 import javax.swing.*; 27 import javax.swing.event.*; 28 import javax.swing.tree.*; 29 import org.jdom.*; 30 import houston.*; 31 32 public class XmlTreeModel implements TreeModel 33 { 34 static Logger T = Logger.getLogger( XmlTreeModel.class ); 35 36 EventListenerList _listener = new EventListenerList(); 37 38 private Element _root; 39 40 public XmlTreeModel( Document doc ) 41 { 42 _root = doc.getRootElement(); 43 } 44 45 public Object getChild( Object parent, int index ) 46 { 47 Element el = ( Element ) parent; 48 49 List children = el.getChildren(); 50 return children.get( index ); 51 } 52 53 public int getChildCount( Object parent ) 54 { 55 Element el = ( Element ) parent; 56 57 List children = el.getChildren(); 58 return children.size(); 59 } 60 61 public int getIndexOfChild( Object parent, Object child ) 62 { 63 Element el = ( Element ) parent; 64 65 List children = el.getChildren(); 66 return children.indexOf( child ); 67 } 68 69 public Object getRoot() 70 { 71 return _root; 72 } 73 74 public boolean isLeaf( Object parent ) 75 { 76 Element el = ( Element ) parent; 77 78 List children = el.getChildren(); 79 return children.size() == 0; 80 } 81 82 public void addTreeModelListener( TreeModelListener l ) 83 { 84 _listener.add( TreeModelListener.class, l ); 85 } 86 87 public void removeTreeModelListener( TreeModelListener l ) 88 { 89 _listener.remove( TreeModelListener.class, l ); 90 } 91 92 public void valueForPathChanged( TreePath path, Object newValue ) 93 { 94 } 96 97 } 98 | Popular Tags |