Update of /cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui
In directory sc8-pr-cvs1:/tmp/cvs-serv24360/src/java/xdoclet/gui

Modified Files:
        BeanContextTreeModel.java 
Log Message:
Automatic selection of new nodes is working

Index: BeanContextTreeModel.java
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/BeanContextTreeModel.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** BeanContextTreeModel.java   19 Mar 2003 00:50:13 -0000      1.5
--- BeanContextTreeModel.java   24 Mar 2003 15:41:50 -0000      1.6
***************
*** 16,19 ****
--- 16,20 ----
  import java.util.Iterator;
  import java.util.List;
+ import java.util.EventListener;
  
  /**
***************
*** 26,30 ****
  public class BeanContextTreeModel implements TreeModel, 
BeanContextMembershipListener {
      private final BeanContextSupportEx _root;
!     private EventListenerList listenerList = new EventListenerList();
  
      public BeanContextTreeModel(BeanContextSupportEx root) {
--- 27,35 ----
  public class BeanContextTreeModel implements TreeModel, 
BeanContextMembershipListener {
      private final BeanContextSupportEx _root;
!     private EventListenerList _listenerList = new EventListenerList();
! 
!     private static final int INSERT = 0;
!     private static final int CHANGE = 1;
!     private static final int REMOVE = 2;
  
      public BeanContextTreeModel(BeanContextSupportEx root) {
***************
*** 64,127 ****
  
      public void addTreeModelListener(TreeModelListener l) {
!         listenerList.add(TreeModelListener.class, l);
      }
  
      public void removeTreeModelListener(TreeModelListener l) {
!         listenerList.remove(TreeModelListener.class, l);
!     }
! 
!     private void fireTreeNodesInserted(Object source, Object[] path, int[] 
childIndices, Object[] children) {
!         // Guaranteed to return a non-null array
!         Object[] listeners = listenerList.getListenerList();
!         TreeModelEvent e = null;
! 
!         // Process the listeners last to first, notifying
!         // those that are interested in this event
!         for (int i = listeners.length - 2; i >= 0; i -= 2) {
!             if (listeners[i] == TreeModelListener.class) {
!                 // Lazily create the event:
!                 if (e == null) {
!                     e = new TreeModelEvent(source, path, childIndices, children);
!                 }
! 
!                 ((TreeModelListener) listeners[i + 1]).treeNodesInserted(e);
!             }
!         }
!     }
! 
!     private void fireTreeNodesRemoved(Object source, Object[] path, int[] 
childIndices, Object[] children) {
!         // Guaranteed to return a non-null array
!         Object[] listeners = listenerList.getListenerList();
!         TreeModelEvent e = null;
! 
!         // Process the listeners last to first, notifying
!         // those that are interested in this event
!         for (int i = listeners.length - 2; i >= 0; i -= 2) {
!             if (listeners[i] == TreeModelListener.class) {
!                 // Lazily create the event:
!                 if (e == null) {
!                     e = new TreeModelEvent(source, path, childIndices, children);
!                 }
! 
!                 ((TreeModelListener) listeners[i + 1]).treeNodesRemoved(e);
!             }
!         }
      }
  
!     private void fireTreeNodesChanged(Object source, Object[] path, int[] 
childIndices, Object[] children) {
!         // Guaranteed to return a non-null array
!         Object[] listeners = listenerList.getListenerList();
!         TreeModelEvent e = null;
  
          // Process the listeners last to first, notifying
          // those that are interested in this event
!         for (int i = listeners.length - 2; i >= 0; i -= 2) {
!             if (listeners[i] == TreeModelListener.class) {
!                 // Lazily create the event:
!                 if (e == null) {
!                     e = new TreeModelEvent(source, path, childIndices, children);
!                 }
! 
!                 ((TreeModelListener) listeners[i + 1]).treeNodesChanged(e);
              }
          }
--- 69,96 ----
  
      public void addTreeModelListener(TreeModelListener l) {
!         _listenerList.add(TreeModelListener.class, l);
      }
  
      public void removeTreeModelListener(TreeModelListener l) {
!         _listenerList.remove(TreeModelListener.class, l);
      }
  
!     private void fireTreeModelEvent(Object source, Object[] path, int[] 
childIndices, Object[] children, int eventType) {
!         TreeModelEvent e = new TreeModelEvent(source, path, childIndices, children);
!         EventListener[] listeners = 
_listenerList.getListeners(TreeModelListener.class);
  
          // Process the listeners last to first, notifying
          // those that are interested in this event
!         for (int i = listeners.length - 1; i >= 0; i--) {
!             switch( eventType ) {
!                 case INSERT:
!                     ((TreeModelListener) listeners[i]).treeNodesInserted(e);
!                     break;
!                 case CHANGE:
!                     ((TreeModelListener) listeners[i]).treeNodesChanged(e);
!                     break;
!                 case REMOVE:
!                     ((TreeModelListener) listeners[i]).treeNodesRemoved(e);
!                     break;
              }
          }
***************
*** 162,166 ****
      }
  
!     public void childrenAdded(BeanContextMembershipEvent bcme) {
          // Make a List out of the source bean context so that
          // we can find indices.
--- 131,135 ----
      }
  
!     private void childrenChanged(BeanContextMembershipEvent bcme, int type) {
          // Make a List out of the source bean context so that
          // we can find indices.
***************
*** 178,182 ****
          }
  
!         fireTreeNodesInserted(this, getPathToRoot((BeanContextSupportEx) 
bcme.getBeanContext()), indices, added);
      }
  
--- 147,159 ----
          }
  
!         fireTreeModelEvent(this, getPathToRoot((BeanContextSupportEx) 
bcme.getBeanContext()), indices, added, type);
!     }
! 
!     public void childrenAdded(BeanContextMembershipEvent bcme) {
!         childrenChanged(bcme, INSERT);
!     }
! 
!     public void childrenRemoved(BeanContextMembershipEvent bcme) {
!         childrenChanged(bcme, REMOVE);
      }
  
***************
*** 198,204 ****
              }
          }
-     }
- 
-     public void childrenRemoved(BeanContextMembershipEvent bcme) {
      }
  }
--- 175,178 ----



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to