Ignore:
Timestamp:
2008-09-07T11:55:00+02:00 (16 years ago)
Author:
stoecker
Message:

fixed illegal access

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/ErrorLayer.java

    r6389 r10529  
    3636                super(tr("Validation errors"));
    3737                this.plugin = plugin;
    38         Layer.listeners.add(this);
     38                Layer.listeners.add(this);
    3939        }
    4040
     
    4646        }
    4747
    48     /**
    49      * Draw all primitives in this layer but do not draw modified ones (they
    50      * are drawn by the edit layer).
    51      * Draw nodes last to overlap the ways they belong to.
    52      */
    53     @SuppressWarnings("unchecked")
    54     @Override
    55     public void paint(final Graphics g, final MapView mv)
    56     {
    57         DefaultMutableTreeNode root = plugin.validationDialog.tree.getRoot();
    58         if( root == null || root.getChildCount() == 0)
    59             return;
    60        
    61         DefaultMutableTreeNode severity = (DefaultMutableTreeNode)root.getLastChild();
    62         while( severity != null )
    63         {
    64             Enumeration<DefaultMutableTreeNode> errorMessages = severity.children();
    65             while( errorMessages.hasMoreElements() )
    66             {
    67                 DefaultMutableTreeNode errorMessage = errorMessages.nextElement();
    68                 Enumeration<DefaultMutableTreeNode> errors = errorMessage.children();
    69                 while( errors.hasMoreElements() )
    70                 {
    71                     TestError error = (TestError)errors.nextElement().getUserObject();
    72                     error.paint(g, mv);
    73                 }
    74             }
    75            
    76             // Severities in inverse order
    77             severity= severity.getPreviousSibling();
    78         }
     48        /**
     49         * Draw all primitives in this layer but do not draw modified ones (they
     50         * are drawn by the edit layer).
     51         * Draw nodes last to overlap the ways they belong to.
     52         */
     53        @SuppressWarnings("unchecked")
     54        @Override
     55        public void paint(final Graphics g, final MapView mv)
     56        {
     57                DefaultMutableTreeNode root = plugin.validationDialog.tree.getRoot();
     58                if( root == null || root.getChildCount() == 0)
     59                        return;
     60               
     61                DefaultMutableTreeNode severity = (DefaultMutableTreeNode)root.getLastChild();
     62                while( severity != null )
     63                {
     64                        Enumeration<DefaultMutableTreeNode> errorMessages = severity.breadthFirstEnumeration();
     65                        while(errorMessages.hasMoreElements())
     66                        {
     67                                Object tn = errorMessages.nextElement().getUserObject();
     68                                if(tn instanceof TestError)
     69                                        ((TestError)tn).paint(g, mv);
     70                        }
     71                       
     72                        // Severities in inverse order
     73                        severity = severity.getPreviousSibling();
     74                }
    7975        }
    8076
    8177        @Override
    82     public String getToolTipText()
    83     {
    84         Bag<Severity, TestError> errorTree = new Bag<Severity, TestError>();
    85         List<TestError> errors = plugin.validationDialog.tree.getErrors();
    86         for(TestError e : errors)
    87         {
    88             errorTree.add(e.getSeverity(), e);
    89         }
    90        
    91         StringBuilder b = new StringBuilder();
    92         for(Severity s : Severity.values())
    93         {
    94             if( errorTree.containsKey(s) )
    95                 b.append(tr(s.toString())).append(": ").append(errorTree.get(s).size()).append("<br>");
    96         }
    97        
    98         if( b.length() == 0 )
    99             return "<html>"+tr("No validation errors") + "</html>";
    100         else
    101             return "<html>" + tr("Validation errors") + ":<br>" + b + "</html>";
     78        public String getToolTipText()
     79        {
     80                Bag<Severity, TestError> errorTree = new Bag<Severity, TestError>();
     81                List<TestError> errors = plugin.validationDialog.tree.getErrors();
     82                for(TestError e : errors)
     83                {
     84                        errorTree.add(e.getSeverity(), e);
     85                }
     86               
     87                StringBuilder b = new StringBuilder();
     88                for(Severity s : Severity.values())
     89                {
     90                        if( errorTree.containsKey(s) )
     91                                b.append(tr(s.toString())).append(": ").append(errorTree.get(s).size()).append("<br>");
     92                }
     93               
     94                if( b.length() == 0 )
     95                        return "<html>"+tr("No validation errors") + "</html>";
     96                else
     97                        return "<html>" + tr("Validation errors") + ":<br>" + b + "</html>";
    10298        }
    10399
     
    111107
    112108        @Override public Object getInfoComponent()
    113     {
    114             return getToolTipText();
     109        {
     110                return getToolTipText();
    115111        }
    116112
    117113        @Override public Component[] getMenuEntries()
    118     {
    119         return new Component[]{
    120                 new JMenuItem(new LayerListDialog.ShowHideLayerAction(this)),
    121                 new JMenuItem(new LayerListDialog.DeleteLayerAction(this)),
    122                 new JSeparator(),
    123                 new JMenuItem(new RenameLayerAction(null, this)),
    124                 new JSeparator(),
    125                 new JMenuItem(new LayerListPopup.InfoAction(this))};
    126     }
     114        {
     115                return new Component[]{
     116                                new JMenuItem(new LayerListDialog.ShowHideLayerAction(this)),
     117                                new JMenuItem(new LayerListDialog.DeleteLayerAction(this)),
     118                                new JSeparator(),
     119                                new JMenuItem(new RenameLayerAction(null, this)),
     120                                new JSeparator(),
     121                                new JMenuItem(new LayerListPopup.InfoAction(this))};
     122        }
    127123
    128124        @Override public void destroy() { }
    129125
    130     public void activeLayerChange(Layer oldLayer, Layer newLayer) { }
     126        public void activeLayerChange(Layer oldLayer, Layer newLayer) { }
    131127
    132     public void layerAdded(Layer newLayer) { }
     128        public void layerAdded(Layer newLayer) { }
    133129
    134     /**
    135     * If layer is the OSM Data layer, remove all errors
    136     */
    137     public void layerRemoved(Layer oldLayer)
    138     {
    139         if(oldLayer == Main.map.mapView.editLayer )
    140         {
    141             Main.map.mapView.removeLayer(this);
    142         }
    143     }
     130        /**
     131        * If layer is the OSM Data layer, remove all errors
     132        */
     133        public void layerRemoved(Layer oldLayer)
     134        {
     135                if(oldLayer == Main.map.mapView.editLayer )
     136                {
     137                        Main.map.mapView.removeLayer(this);
     138                }
     139        }
    144140}
Note: See TracChangeset for help on using the changeset viewer.