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