Index: debuggerjpda/src/org/netbeans/modules/debugger/jpda/models/TranslatingTreeModel.java
===================================================================
RCS file: /cvs/debuggerjpda/src/org/netbeans/modules/debugger/jpda/models/TranslatingTreeModel.java,v
retrieving revision 1.5
diff -u -r1.5 TranslatingTreeModel.java
--- debuggerjpda/src/org/netbeans/modules/debugger/jpda/models/TranslatingTreeModel.java 7 Jan 2005 09:33:22 -0000 1.5
+++ debuggerjpda/src/org/netbeans/modules/debugger/jpda/models/TranslatingTreeModel.java 31 Mar 2005 16:19:59 -0000
@@ -18,6 +18,7 @@
import java.util.WeakHashMap;
import org.netbeans.spi.viewmodel.TreeModel;
+import org.netbeans.spi.viewmodel.TreeModelEvent;
import org.netbeans.spi.viewmodel.TreeModelListener;
import org.netbeans.spi.viewmodel.UnknownTypeException;
@@ -192,6 +193,13 @@
((TreeModelListener) v.get (i)).treeNodeChanged (parent);
}
+ void treeNodeChanged (TreeModelEvent event) {
+ Vector v = (Vector) listeners.clone ();
+ int i, k = v.size ();
+ for (i = 0; i < k; i++)
+ ((TreeModelListener) v.get (i)).treeNodeChanged (event);
+ }
+
private class Listener implements TreeModelListener {
public void treeNodeChanged (Object node) {
@@ -199,6 +207,10 @@
fireTreeNodeChanged (translate (node));
} catch (UnknownTypeException e) {
}
+ }
+
+ public void treeNodeChanged (TreeModelEvent event) {
+ treeNodeChanged (event);
}
public void treeChanged () {
Index: debuggercore/viewmodel/apichanges.xml
===================================================================
RCS file: /cvs/debuggercore/viewmodel/apichanges.xml,v
retrieving revision 1.9
diff -u -r1.9 apichanges.xml
--- debuggercore/viewmodel/apichanges.xml 20 Jan 2005 09:00:41 -0000 1.9
+++ debuggercore/viewmodel/apichanges.xml 31 Mar 2005 16:20:00 -0000
@@ -133,6 +133,22 @@
+
+
+ I need to add TreeModelEvent to ViewModelAPI.
+
+
+
+
+ ViewModelAPI currently supports two types of changes only:
+ 1) all tree is changed
+ 2) node and all subnodes are changed
+
+ We need more fine grained firing. This change has been already discussed on
+ DevRev - see http://jupiter.czech.sun.com/wiki/view/Devrev/DevRevMeeting050118.
+
+
+
Index: debuggercore/viewmodel/manifest.mf
===================================================================
RCS file: /cvs/debuggercore/viewmodel/manifest.mf,v
retrieving revision 1.8
diff -u -r1.8 manifest.mf
--- debuggercore/viewmodel/manifest.mf 9 Nov 2004 21:01:07 -0000 1.8
+++ debuggercore/viewmodel/manifest.mf 31 Mar 2005 16:20:00 -0000
@@ -1,5 +1,5 @@
Manifest-Version: 1.0
OpenIDE-Module: org.netbeans.spi.viewmodel/1
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/viewmodel/Bundle.properties
-OpenIDE-Module-Specification-Version: 1.3
+OpenIDE-Module-Specification-Version: 1.4
Index: debuggercore/viewmodel/src/org/netbeans/modules/viewmodel/TreeModelRoot.java
===================================================================
RCS file: /cvs/debuggercore/viewmodel/src/org/netbeans/modules/viewmodel/TreeModelRoot.java,v
retrieving revision 1.8
diff -u -r1.8 TreeModelRoot.java
--- debuggercore/viewmodel/src/org/netbeans/modules/viewmodel/TreeModelRoot.java 19 Jan 2005 10:14:48 -0000 1.8
+++ debuggercore/viewmodel/src/org/netbeans/modules/viewmodel/TreeModelRoot.java 31 Mar 2005 16:20:00 -0000
@@ -21,6 +21,7 @@
import org.netbeans.spi.viewmodel.Models;
import org.netbeans.spi.viewmodel.TreeModel;
+import org.netbeans.spi.viewmodel.TreeModelEvent;
import org.netbeans.spi.viewmodel.TreeModelListener;
import org.openide.nodes.Node;
@@ -92,6 +93,16 @@
public void treeNodeChanged (Object parent) {
final TreeModelNode tmn = findNode (parent);
+ if (tmn == null) return;
+ SwingUtilities.invokeLater (new Runnable () {
+ public void run () {
+ tmn.refresh ();
+ }
+ });
+ }
+
+ public void treeNodeChanged (TreeModelEvent event) {
+ final TreeModelNode tmn = findNode (event.getNode ());
if (tmn == null) return;
SwingUtilities.invokeLater (new Runnable () {
public void run () {
Index: debuggercore/viewmodel/src/org/netbeans/spi/viewmodel/TreeModelListener.java
===================================================================
RCS file: /cvs/debuggercore/viewmodel/src/org/netbeans/spi/viewmodel/TreeModelListener.java,v
retrieving revision 1.2
diff -u -r1.2 TreeModelListener.java
--- debuggercore/viewmodel/src/org/netbeans/spi/viewmodel/TreeModelListener.java 31 Mar 2004 07:26:37 -0000 1.2
+++ debuggercore/viewmodel/src/org/netbeans/spi/viewmodel/TreeModelListener.java 31 Mar 2005 16:20:00 -0000
@@ -34,4 +34,11 @@
* @param node the changed node
*/
public void treeNodeChanged (Object node);
+
+ /**
+ * Given node and all subnodes are changed!
+ *
+ * @param node the changed node
+ */
+ public void treeNodeChanged (TreeModelEvent event);
}