Ignore:
Timestamp:
2006-03-16T19:35:44+01:00 (19 years ago)
Author:
imi
Message:
  • renamed track to way
  • refactored Key to be a simple String
  • fixed PropertyDialog which displayed <different> for doubled values
Location:
src/org/openstreetmap/josm/gui/dialogs
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java

    r62 r64  
    1414import java.awt.event.WindowFocusListener;
    1515import java.util.Collection;
    16 import java.util.HashMap;
    1716import java.util.Iterator;
    1817import java.util.TreeMap;
     
    3736import org.openstreetmap.josm.command.ChangeKeyValueCommand;
    3837import org.openstreetmap.josm.data.SelectionChangedListener;
    39 import org.openstreetmap.josm.data.osm.Key;
    4038import org.openstreetmap.josm.data.osm.OsmPrimitive;
    4139import org.openstreetmap.josm.gui.ImageProvider;
     
    125123                if (value.equals(""))
    126124                        value = null; // delete the key
    127                 mv.editLayer().add(new ChangeKeyValueCommand(sel, Key.get(key), value));
     125                mv.editLayer().add(new ChangeKeyValueCommand(sel, key, value));
    128126
    129127                if (value == null)
     
    143141                p.add(new JLabel("<html>This will change "+sel.size()+" object"+(sel.size()==1?"":"s")+".<br><br>"+
    144142                "Please select a key"), BorderLayout.NORTH);
    145                 Vector<String> allKeys = new Vector<String>(Key.allKeys.keySet());
     143                Vector<String> allKeys = new Vector<String>();
     144                for (OsmPrimitive osm : Main.main.ds.allNonDeletedPrimitives())
     145                        if (osm.keys != null)
     146                                allKeys.addAll(osm.keys.keySet());
    146147                for (Iterator<String> it = allKeys.iterator(); it.hasNext();) {
    147148                        String s = it.next();
     
    170171                if (value.equals(""))
    171172                        return;
    172                 mv.editLayer().add(new ChangeKeyValueCommand(sel, Key.get(key), value));
     173                mv.editLayer().add(new ChangeKeyValueCommand(sel, key, value));
    173174                selectionChanged(sel); // update table
    174175        }
     
    181182                String key = data.getValueAt(row, 0).toString();
    182183                Collection<OsmPrimitive> sel = Main.main.ds.getSelected();
    183                 mv.editLayer().add(new ChangeKeyValueCommand(sel, Key.get(key), null));
     184                mv.editLayer().add(new ChangeKeyValueCommand(sel, key, null));
    184185                selectionChanged(sel); // update table
    185186        }
     
    293294                data.setRowCount(0);
    294295                TreeMap<String, Collection<String>> props = new TreeMap<String, Collection<String>>();
    295                 HashMap<String, Integer> valueCounts = new HashMap<String, Integer>();
    296296                for (OsmPrimitive osm : newSelection) {
    297297                        if (osm.keys != null) {
    298                                 for (Entry<Key, String> e : osm.keys.entrySet()) {
    299                                         Collection<String> value = props.get(e.getKey().name);
     298                                for (Entry<String, String> e : osm.keys.entrySet()) {
     299                                        Collection<String> value = props.get(e.getKey());
    300300                                        if (value == null) {
    301301                                                value = new TreeSet<String>();
    302                                                 props.put(e.getKey().name, value);
     302                                                props.put(e.getKey(), value);
    303303                                        }
    304304                                        value.add(e.getValue());
    305                                        
    306                                         Integer count = valueCounts.get(e.getValue());
    307                                         if (count == null)
    308                                                 count = 0;
    309                                         valueCounts.put(e.getValue(), count+1);
    310305                                }
    311306                        }
    312307                }
    313                 int selCount = newSelection.size();
    314308                for (Entry<String, Collection<String>> e : props.entrySet()) {
    315309                        JComboBox value = new JComboBox(e.getValue().toArray());
    316310                        value.setEditable(true);
    317                         if (e.getValue().size() > 1 || valueCounts.get(e.getValue().iterator().next()) != selCount)
    318                                 value.getEditor().setItem("<different>");
     311                        value.getEditor().setItem(e.getValue().size() > 1 ? "<different>" : e.getValue().iterator().next());
    319312                        data.addRow(new Object[]{e.getKey(), value});
    320313                }
  • src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java

    r62 r64  
    2323import org.openstreetmap.josm.Main;
    2424import org.openstreetmap.josm.data.SelectionChangedListener;
    25 import org.openstreetmap.josm.data.osm.Key;
    2625import org.openstreetmap.josm.data.osm.OsmPrimitive;
    2726import org.openstreetmap.josm.gui.ImageProvider;
     
    9594                                for (OsmPrimitive osm : Main.main.ds.allNonDeletedPrimitives()) {
    9695                                        if (osm.keys != null) {
    97                                                 for (Entry<Key, String> ent : osm.keys.entrySet()) {
     96                                                for (Entry<String, String> ent : osm.keys.entrySet()) {
    9897                                                        if (match(lastSearch, ent.getKey(), ent.getValue())) {
    9998                                                                osm.setSelected(true);
     
    106105                                Main.main.getMapFrame().repaint();
    107106                        }
    108                         private boolean match(String search, Key key, String value) {
     107                        private boolean match(String search, String key, String value) {
    109108                                int colon = search.indexOf(':');
    110109                                if (colon == -1)
    111                                         return key.name.indexOf(search) != -1 || value.indexOf(search) != -1;
    112                                 return key.name.equals(search.substring(0, colon)) && value.indexOf(search.substring(colon+1)) != -1;
     110                                        return key.indexOf(search) != -1 || value.indexOf(search) != -1;
     111                                return key.equals(search.substring(0, colon)) && value.indexOf(search.substring(colon+1)) != -1;
    113112                        }
    114113                });
Note: See TracChangeset for help on using the changeset viewer.