Author: echatellier Date: 2010-03-15 12:48:25 +0100 (Mon, 15 Mar 2010) New Revision: 402 Log: Remove dependency on swingx. Modified: testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/FilterTreeModel.java Modified: testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/FilterTreeModel.java =================================================================== --- testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/FilterTreeModel.java 2010-03-15 11:00:06 UTC (rev 401) +++ testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/FilterTreeModel.java 2010-03-15 11:48:25 UTC (rev 402) @@ -18,12 +18,15 @@ package org.nuiton.test.tree; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; + +import javax.swing.event.TreeModelEvent; import javax.swing.event.TreeModelListener; import javax.swing.tree.TreeModel; import javax.swing.tree.TreePath; -import org.jdesktop.swingx.tree.TreeModelSupport; - /** * TODO add comment here. * @@ -37,7 +40,7 @@ */ public class FilterTreeModel implements TreeModel { - protected TreeModelSupport support; + protected Collection<TreeModelListener> treeModelListeners; protected TreeModel delegateModel; @@ -46,15 +49,29 @@ public FilterTreeModel(TreeModel delegateModel, TreeFilter filter) { this.delegateModel = delegateModel; this.treeFilter = filter; - this.support = new TreeModelSupport(delegateModel); + treeModelListeners = new ArrayList<TreeModelListener>(); } public void setFilter(TreeFilter treeFilter) { this.treeFilter = treeFilter; TreePath path = new TreePath(delegateModel.getRoot()); - support.fireTreeStructureChanged(path); + fireTreeStructureChanged(path); } + /** + * @param path + */ + protected void fireTreeStructureChanged(TreePath path) { + + TreeModelEvent event = new TreeModelEvent(delegateModel, path); + Iterator<TreeModelListener> itTreeModelListener = treeModelListeners.iterator(); + while(itTreeModelListener.hasNext()) { + TreeModelListener current = itTreeModelListener.next(); + current.treeStructureChanged(event); + } + + } + @Override public int getChildCount(Object parent) { int realCount = delegateModel.getChildCount(parent); @@ -122,7 +139,7 @@ @Override public void addTreeModelListener(TreeModelListener l) { delegateModel.addTreeModelListener(l); - support.addTreeModelListener(l); + treeModelListeners.add(l); } /* @@ -131,6 +148,6 @@ @Override public void removeTreeModelListener(TreeModelListener l) { delegateModel.removeTreeModelListener(l); - support.addTreeModelListener(l); + treeModelListeners.remove(l); } }