Ignore:
Timestamp:
20/08/10 09:37:05 (21 months ago)
Author:
Stephen Rankin
Message:

Reverted back to using older version of NXReducedToTree as the new version would not work (Java bug?). Fixed a few bugs. ref#236.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/applications/NXvalidate/src/org/nexusformat/nxvalidate/NXReducedToTree.java

    r1507 r1514  
    1  /* NeXus - Neutron & X-ray Common Data Format 
    2   * 
    3   * NeXus file validation GUI tool. 
    4   * 
    5   * Copyright (C) 2010 Stephen Rankin 
    6   * 
    7   * This library is free software; you can redistribute it and/or 
    8   * modify it under the terms of the GNU Lesser General Public 
    9   * License as published by the Free Software Foundation; either 
    10   * version 2 of the License, or (at your option) any later version. 
    11   * 
    12   * This library is distributed in the hope that it will be useful, 
    13   * but WITHOUT ANY WARRANTY; without even the implied warranty of 
    14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
    15   * Lesser General Public License for more details. 
    16   * 
    17   * You should have received a copy of the GNU Lesser General Public 
    18   * License along with this library; if not, write to the Free Software 
    19   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
    20   * 
    21   * For further information, see <http://www.neutron.anl.gov/NeXus/> 
    22   * 
    23   * NXReducedToTree.java 
    24   * 
    25   */ 
     1/* NeXus - Neutron & X-ray Common Data Format 
     2 * 
     3 * NeXus file validation GUI tool. 
     4 * 
     5 * Copyright (C) 2010 Stephen Rankin 
     6 * 
     7 * This library is free software; you can redistribute it and/or 
     8 * modify it under the terms of the GNU Lesser General Public 
     9 * License as published by the Free Software Foundation; either 
     10 * version 2 of the License, or (at your option) any later version. 
     11 * 
     12 * This library is distributed in the hope that it will be useful, 
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
     15 * Lesser General Public License for more details. 
     16 * 
     17 * You should have received a copy of the GNU Lesser General Public 
     18 * License along with this library; if not, write to the Free Software 
     19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
     20 * 
     21 * For further information, see <http://www.neutron.anl.gov/NeXus/> 
     22 * 
     23 * NXReducedToTree.java 
     24 * 
     25 */ 
    2626package org.nexusformat.nxvalidate; 
    2727 
    28 import java.util.ArrayList; 
    2928import java.util.Enumeration; 
     29import java.util.HashMap; 
     30import java.util.Vector; 
    3031import javax.swing.event.TreeModelEvent; 
    3132import javax.swing.event.TreeModelListener; 
     
    3334import javax.swing.tree.DefaultTreeModel; 
    3435import javax.swing.tree.TreeNode; 
     36import org.nexusformat.nxvalidate.exceptions.NXvalidateException; 
     37import org.w3c.dom.Document; 
     38 
    3539 
    3640/** 
     
    4145public class NXReducedToTree extends DefaultTreeModel { 
    4246 
    43     private ArrayList<TreeModelListener> listenerList = 
    44             new ArrayList<TreeModelListener>(); 
     47    private Vector listenerList = new Vector(); 
    4548    private NXNodeMapper root = null; 
    46      
     49 
    4750    public NXReducedToTree(TreeNode root) { 
    4851        super(root); 
    49         this.root = (NXNodeMapper)root; 
     52        this.root = (NXNodeMapper) root; 
    5053    } 
    5154 
     
    5356 
    5457        TreeModelEvent evt = new TreeModelEvent(this, 
    55                                               new Object[] {root}); 
     58                new Object[]{root}); 
    5659        fireTreeStructureChanged(evt); 
    5760    } 
    5861 
    59     @Override 
    6062    public Object getRoot() { 
    6163 
    6264        return root; 
    63          
     65 
    6466    } 
    6567 
    66     @Override 
    6768    public boolean isLeaf(Object aNode) { 
    6869 
     
    7879    } 
    7980 
    80     @Override 
    8181    public int getChildCount(Object parent) { 
    8282 
    8383        NXNodeMapper node = (NXNodeMapper) parent; 
    8484        return node.getChildCount(); 
    85          
     85 
    8686    } 
    8787 
     
    9191        NXNodeMapper node = (NXNodeMapper) parent; 
    9292        return node.getChildAt(index); 
    93          
     93 
    9494    } 
    9595 
     
    104104    @Override 
    105105    public void valueForPathChanged(TreePath path, Object newValue) { 
    106         
    107  
    108106    } 
    109107 
     
    112110 
    113111        if ((listener != null) && !listenerList.contains(listener)) { 
    114             listenerList.add(listener); 
     112            listenerList.addElement(listener); 
    115113        } 
    116114 
     
    121119 
    122120        if (listener != null) { 
    123             listenerList.remove(listener); 
     121            listenerList.removeElement(listener); 
    124122        } 
    125123 
    126124    } 
    127125 
    128     public void fireTreeNodesChanged(TreeModelEvent ev) { 
    129         events(ev); 
    130     } 
     126    public void fireTreeNodesChanged(TreeModelEvent e) { 
    131127 
    132     public void fireTreeNodesInserted(TreeModelEvent ev) { 
    133         events(ev); 
    134     } 
     128        Enumeration listeners = listenerList.elements(); 
    135129 
    136     public void fireTreeNodesRemoved(TreeModelEvent ev) { 
    137         events(ev); 
    138     } 
     130        while (listeners.hasMoreElements()) { 
     131            TreeModelListener listener = 
     132                    (TreeModelListener) listeners.nextElement(); 
     133            listener.treeNodesChanged(e); 
     134        } 
    139135 
    140     public void fireTreeStructureChanged(TreeModelEvent ev) { 
    141         events(ev); 
    142     } 
    143  
    144     private void events(TreeModelEvent ev){ 
    145  
    146         for(int i = 0; i<listenerList.size(); ++i) { 
    147             TreeModelListener listener = 
    148                     (TreeModelListener) listenerList.get(i); 
    149             listener.treeNodesChanged(ev); 
    150         } 
    151136 
    152137    } 
    153138 
     139    public void fireTreeNodesInserted(TreeModelEvent e) { 
     140 
     141        Enumeration listeners = listenerList.elements(); 
     142 
     143        while (listeners.hasMoreElements()) { 
     144            TreeModelListener listener = 
     145                    (TreeModelListener) listeners.nextElement(); 
     146            listener.treeNodesInserted(e); 
     147        } 
     148 
     149 
     150    } 
     151 
     152    public void fireTreeNodesRemoved(TreeModelEvent e) { 
     153 
     154        Enumeration listeners = listenerList.elements(); 
     155 
     156        while (listeners.hasMoreElements()) { 
     157            TreeModelListener listener = 
     158                    (TreeModelListener) listeners.nextElement(); 
     159            listener.treeNodesRemoved(e); 
     160        } 
     161 
     162 
     163    } 
     164 
     165    public void fireTreeStructureChanged(TreeModelEvent e) { 
     166 
     167        Enumeration listeners = listenerList.elements(); 
     168 
     169        while (listeners.hasMoreElements()) { 
     170            TreeModelListener listener = 
     171                    (TreeModelListener) listeners.nextElement(); 
     172            listener.treeStructureChanged(e); 
     173        } 
     174 
     175 
     176    } 
    154177} 
Note: See TracChangeset for help on using the changeset viewer.