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); }