1 package org.astrogrid.ui;
2
3 import java.util.Enumeration;
4 import java.util.Vector;
5 import javax.swing.event.TreeModelEvent;
6 import javax.swing.event.TreeModelListener;
7
8 /*** Taken from the java intro to using trees. Includes support for listeners
9 * and all the fire methods you could shake a stick at */
10
11 public class TreeModelSupport {
12 private Vector vector = new Vector();
13
14 public void addTreeModelListener( TreeModelListener listener ) {
15 if ( listener != null && !vector.contains( listener ) ) {
16 vector.addElement( listener );
17 }
18 }
19
20 public void removeTreeModelListener( TreeModelListener listener ) {
21 if ( listener != null ) {
22 vector.removeElement( listener );
23 }
24 }
25
26 public void fireTreeNodesChanged( TreeModelEvent e ) {
27 Enumeration listeners = vector.elements();
28 while ( listeners.hasMoreElements() ) {
29 TreeModelListener listener = (TreeModelListener)listeners.nextElement();
30 listener.treeNodesChanged( e );
31 }
32 }
33
34 public void fireTreeNodesInserted( TreeModelEvent e ) {
35 Enumeration listeners = vector.elements();
36 while ( listeners.hasMoreElements() ) {
37 TreeModelListener listener = (TreeModelListener)listeners.nextElement();
38 listener.treeNodesInserted( e );
39 }
40 }
41
42 public void fireTreeNodesRemoved( TreeModelEvent e ) {
43 Enumeration listeners = vector.elements();
44 while ( listeners.hasMoreElements() ) {
45 TreeModelListener listener = (TreeModelListener)listeners.nextElement();
46 listener.treeNodesRemoved( e );
47 }
48 }
49
50 public void fireTreeStructureChanged( TreeModelEvent e ) {
51 Enumeration listeners = vector.elements();
52 while ( listeners.hasMoreElements() ) {
53 TreeModelListener listener = (TreeModelListener)listeners.nextElement();
54 listener.treeStructureChanged( e );
55 }
56 }
57 }