Changeset 9111 in osm for applications/editors/josm


Ignore:
Timestamp:
2008-07-17T10:21:52+02:00 (16 years ago)
Author:
stoecker
Message:

disabled roundabout

Location:
applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator
Files:
1 added
5 edited

Legend:

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

    r8905 r9111  
    5858                WronglyOrderedWays.class,
    5959                UnclosedWays.class,
     60                TagChecker.class,
    6061        };
    6162
  • applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/TestError.java

    r6303 r9111  
    131131        {
    132132                this.severity = severity;
     133        }
     134
     135        /**
     136         * Sets the ignore state for this error
     137         */
     138        public void getIgnoreState()
     139        {
     140                System.out.println("Ignore " + message);
     141                for (OsmPrimitive o : primitives)
     142                {
     143                        System.out.println(o.id + " - " + o.getClass());
     144                }
    133145        }
    134146
  • applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/ValidatorDialog.java

    r6389 r9111  
    3434        private OSMValidatorPlugin plugin;
    3535
    36     /** Serializable ID */
    37     private static final long serialVersionUID = 2952292777351992696L;
    38 
    39         /**
    40      * The display tree.
    41      */
    42     protected ErrorTreePanel tree;
    43 
    44     /**
    45      * The fix button
    46      */
    47     private JButton fixButton;
    48    
    49     /**
    50      * The select button
    51      */
    52     private JButton selectButton;
    53    
    54     /** Last selected element */
    55     private DefaultMutableTreeNode lastSelectedNode = null;
    56 
    57     /**
    58      * Constructor
    59      */
    60     public ValidatorDialog(OSMValidatorPlugin plugin) {
    61         super(tr("Validation errors"), "validator", tr("Open the validation window."), KeyEvent.VK_V, 150);
     36        /** Serializable ID */
     37        private static final long serialVersionUID = 2952292777351992696L;
     38
     39        /** The display tree */
     40        protected ErrorTreePanel tree;
     41
     42        /** The fix button */
     43        private JButton fixButton;
     44
     45        /** The ignore button */
     46        private JButton ignoreButton;
     47
     48        /** The select button */
     49        private JButton selectButton;
     50
     51        /** Last selected element */
     52        private DefaultMutableTreeNode lastSelectedNode = null;
     53
     54        /**
     55         * Constructor
     56         */
     57        public ValidatorDialog(OSMValidatorPlugin plugin) {
     58                super(tr("Validation errors"), "validator", tr("Open the validation window."), KeyEvent.VK_V, 150);
    6259
    6360                this.plugin = plugin;
    64        
    65         tree = new ErrorTreePanel();
     61
     62                tree = new ErrorTreePanel();
    6663                tree.addMouseListener(new ClickWatch());
    6764                tree.addTreeSelectionListener(new SelectionWatch());
     
    6966                add(new JScrollPane(tree), BorderLayout.CENTER);
    7067
    71         JPanel buttonPanel = new JPanel(new GridLayout(1,2));
    72 
    73         selectButton = Util.createButton("Select", "mapmode/selection/select", "Set the selected elements on the map to the selected items in the list above.", this);
    74         selectButton.setEnabled(false);
    75         buttonPanel.add(selectButton);
    76         //add(buttonPanel, BorderLayout.SOUTH);
    77         buttonPanel.add(Util.createButton("Validate", "dialogs/refresh", "Validate the data.", this));
    78         // add(buttonPanel, BorderLayout.SOUTH);
    79         fixButton = Util.createButton("Fix", "dialogs/fix", "Fix the selected errors.", this);
    80         fixButton.setEnabled(false);
    81         buttonPanel.add(fixButton);
    82         add(buttonPanel, BorderLayout.SOUTH);
    83     }
     68                JPanel buttonPanel = new JPanel(new GridLayout(1,2));
     69
     70                selectButton = Util.createButton(tr("Select"), "select", "mapmode/selection/select",
     71                tr("Set the selected elements on the map to the selected items in the list above."), this);
     72                selectButton.setEnabled(false);
     73                buttonPanel.add(selectButton);
     74                buttonPanel.add(Util.createButton(tr("Validate"), "validate", "dialogs/refresh", tr("Validate the data."), this));
     75                fixButton = Util.createButton(tr("Fix"), "fix", "dialogs/fix", tr("Fix the selected errors."), this);
     76                fixButton.setEnabled(false);
     77                buttonPanel.add(fixButton);
     78                ignoreButton = Util.createButton(tr("Ignore"), "ignore", "dialogs/delete", tr("Ignore the selected errors next time."), this);
     79                ignoreButton.setEnabled(false);
     80                buttonPanel.add(ignoreButton);
     81                add(buttonPanel, BorderLayout.SOUTH);
     82        }
    8483
    8584    @Override
     
    139138        plugin.validateAction.doValidate(e, false);
    140139        }       
    141        
     140
     141        /**
     142         * Set selected errors to ignore state
     143         * @param e
     144         */
     145        @SuppressWarnings("unchecked")
     146        private void ignoreErrors(ActionEvent e)
     147        {
     148                TreePath[] selectionPaths = tree.getSelectionPaths();
     149                if( selectionPaths == null )
     150                        return;
     151
     152                Set<DefaultMutableTreeNode> processedNodes = new HashSet<DefaultMutableTreeNode>();
     153                for( TreePath path : selectionPaths )
     154                {
     155                        DefaultMutableTreeNode node = (DefaultMutableTreeNode)path.getLastPathComponent();
     156                        if( node == null )
     157                                continue;
     158
     159                        Enumeration<DefaultMutableTreeNode> children = node.breadthFirstEnumeration();
     160                        while( children.hasMoreElements() )
     161                        {
     162                                DefaultMutableTreeNode childNode = children.nextElement();
     163                                if( processedNodes.contains(childNode) )
     164                                        continue;
     165
     166                                processedNodes.add(childNode);
     167                                Object nodeInfo = childNode.getUserObject();
     168                                if( nodeInfo instanceof TestError)
     169                                {
     170                                        TestError error = (TestError)nodeInfo;
     171                                        String error.getIgnoreState();
     172/* ignore */
     173                                }
     174                        }
     175                }
     176
     177                Main.map.repaint();
     178                DataSet.fireSelectionChanged(Main.ds.getSelected());
     179
     180                plugin.validateAction.doValidate(e, false);
     181        }
     182
    142183    /**
    143184     * Sets the selection of the map to the current selected items.
     
    177218        {
    178219                String actionCommand = e.getActionCommand();
    179                 if( actionCommand.equals("Select"))
     220                if( actionCommand.equals("select"))
    180221                        setSelectedItems();
    181                 else if( actionCommand.equals("Validate"))
    182                 plugin.validateAction.actionPerformed(e);
    183                 else if( actionCommand.equals("Fix"))
    184                 fixErrors(e);
     222                else if( actionCommand.equals("validate"))
     223                        plugin.validateAction.actionPerformed(e);
     224                else if( actionCommand.equals("fix"))
     225                        fixErrors(e);
     226                else if( actionCommand.equals("ignore"))
     227                        ignoreErrors(e);
    185228        }
    186229
     
    211254            } 
    212255        }
    213        
    214         lastSelectedNode = node;
    215         if( node == null )
    216                 return hasFixes;
     256
     257                lastSelectedNode = node;
     258                if( node == null )
     259                        return hasFixes;
    217260
    218261                Enumeration<DefaultMutableTreeNode> children = node.breadthFirstEnumeration();
    219262                while( children.hasMoreElements() )
    220263                {
    221                 DefaultMutableTreeNode childNode = children.nextElement();
    222                 Object nodeInfo = childNode.getUserObject();
    223                 if( nodeInfo instanceof TestError)
    224                 {
    225                         TestError error = (TestError)nodeInfo;
    226                 error.setSelected(true);
    227                
    228                         hasFixes = hasFixes || error.isFixable();
    229                         if( addSelected )
    230                         {
    231                                 sel.addAll( error.getPrimitives() );
    232                         }
    233                 }
     264                        DefaultMutableTreeNode childNode = children.nextElement();
     265                        Object nodeInfo = childNode.getUserObject();
     266                        if( nodeInfo instanceof TestError)
     267                        {
     268                                TestError error = (TestError)nodeInfo;
     269                                error.setSelected(true);
     270
     271                                hasFixes = hasFixes || error.isFixable();
     272                                if( addSelected )
     273                                {
     274                                        sel.addAll( error.getPrimitives() );
     275                                }
     276                        }
    234277                }
    235         selectButton.setEnabled(true);
     278                selectButton.setEnabled(true);
     279                ignoreButton.setEnabled(true);
    236280               
    237281                return hasFixes;
    238282        }
    239    
     283
    240284        /**
    241285         * Watches for clicks.
     
    243287        public class ClickWatch extends MouseAdapter
    244288        {
    245         @Override
    246                 public void mouseClicked(MouseEvent e) 
     289                @Override
     290                public void mouseClicked(MouseEvent e)
    247291                {
    248             fixButton.setEnabled(false);
    249             selectButton.setEnabled(false);
    250            
     292                        fixButton.setEnabled(false);
     293                        ignoreButton.setEnabled(false);
     294                        selectButton.setEnabled(false);
     295
    251296                        boolean isDblClick = e.getClickCount() > 1;
    252             Collection<OsmPrimitive> sel = isDblClick ? new HashSet<OsmPrimitive>(40) : null;
    253                        
     297                        Collection<OsmPrimitive> sel = isDblClick ? new HashSet<OsmPrimitive>(40) : null;
     298
    254299                        boolean hasFixes = setSelection(sel, isDblClick);
    255                 fixButton.setEnabled(hasFixes);
    256                
    257                 if( isDblClick)
     300                        fixButton.setEnabled(hasFixes);
     301
     302                        if(isDblClick)
    258303                        {
    259                         Main.ds.setSelected(sel);
     304                                Main.ds.setSelected(sel);
    260305                        }
    261306                }
    262307        }
    263        
     308
    264309        /**
    265310         * Watches for tree selection.
     
    267312        public class SelectionWatch implements TreeSelectionListener
    268313        {
    269         @SuppressWarnings("unchecked")
    270                 public void valueChanged(TreeSelectionEvent e) 
     314                @SuppressWarnings("unchecked")
     315                public void valueChanged(TreeSelectionEvent e)
    271316                {
    272                 fixButton.setEnabled(false);
    273             selectButton.setEnabled(false);
    274                
     317                        fixButton.setEnabled(false);
     318                        ignoreButton.setEnabled(false);
     319                        selectButton.setEnabled(false);
     320
    275321                        if(e.getSource() instanceof JScrollPane)
    276             {
    277                 System.out.println(e.getSource());
    278                 return;
    279             }
    280                
     322                        {
     323                                System.out.println(e.getSource());
     324                                return;
     325                        }
     326
    281327                        boolean hasFixes = setSelection(null, false);
    282                 fixButton.setEnabled(hasFixes);
    283             Main.map.repaint();           
     328                        fixButton.setEnabled(hasFixes);
     329                        Main.map.repaint();
    284330                }
    285331        }
  • applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java

    r9021 r9111  
    2828        {
    2929                super(tr("Unclosed Ways."),
    30                           tr("This test if ways which should be circular are closed."));
     30                          tr("This tests if ways which should be circular are closed."));
    3131        }
    3232
     
    101101                        type = tr("waterway type {0}", tr(test));
    102102                }
    103                 test = w.get("junction");
     103                /*test = w.get("junction");
    104104                if(test != null && test.equals("roundabout"))
    105105                {
    106106                        force = true;
    107107                        type = tr("junction type {0}", tr(test));
    108                 }
     108                }*/
    109109                test = w.get("building");
    110110                if (test != null && ("true".equalsIgnoreCase(test) || "yes".equalsIgnoreCase(test) || "1".equals(test)))
  • applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/util/Util.java

    r6389 r9111  
    4444         * @return The created button
    4545         */
    46     public static JButton createButton(String name, String icon, String tooltip, ActionListener action)
    47     {
    48                 JButton button = new JButton(tr(name), ImageProvider.get(icon));
    49                 button.setActionCommand(name);
     46    public static JButton createButton(String name, String actionname, String icon, String tooltip, ActionListener action)
     47    {
     48                JButton button = new JButton(name, ImageProvider.get(icon));
     49                button.setActionCommand(actionname);
    5050                button.addActionListener(action);
    5151                button.setToolTipText(tr(tooltip));
    52                 button.putClientProperty("help", "Dialog/SelectionList/" + name);
     52                button.putClientProperty("help", "Dialog/SelectionList/" + actionname);
    5353                return button;
    5454        }
Note: See TracChangeset for help on using the changeset viewer.