Changeset 142 in josm


Ignore:
Timestamp:
2006-09-24T11:15:39+02:00 (18 years ago)
Author:
imi
Message:
  • added External Tool support (no gui configuration yet)
  • applied patch for bug that Save action does not set filename (thanks Dean)
  • fixed case sensitiveness of search tool (now insensitive, like google)
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • data/empty.xml

    r61 r142  
     1<?xml version='1.0' encoding='UTF-8'?>
    12<osm version='0.3' generator='JOSM'>
     3  <node id='1' lat='67.99839775928415' lon='-59.66292134831462' />
     4  <node id='2' lat='43.00883564541926' lon='-6.269662921348315' />
     5  <node id='-3' lat='19.054463960754692' lon='-66.94382022471912' />
     6  <node id='-4' lat='-24.68228648077048' lon='-40.651685393258425' />
     7  <node id='-5' lat='-34.84314824807727' lon='-13.146067415730338' />
     8  <segment id='-6' from='1' to='2' />
     9  <segment id='-7' from='2' to='-3' />
     10  <segment id='-8' from='-5' to='-4' />
     11  <way id='-9'>
     12    <seg id='-6' />
     13    <seg id='-7' />
     14  </way>
     15  <way id='-10'>
     16    <seg id='-8' />
     17  </way>
    218</osm>
  • src/org/openstreetmap/josm/Main.java

    r138 r142  
    3232import org.openstreetmap.josm.actions.DownloadAction;
    3333import org.openstreetmap.josm.actions.ExitAction;
     34import org.openstreetmap.josm.actions.ExternalToolsAction;
    3435import org.openstreetmap.josm.actions.GpxExportAction;
    3536import org.openstreetmap.josm.actions.OpenAction;
     
    204205                mainMenu.add(editMenu);
    205206
     207                JMenu externalMenu = ExternalToolsAction.buildMenu();
     208                if (externalMenu != null)
     209                        mainMenu.add(externalMenu);
     210
    206211                mainMenu.add(new JSeparator());
    207212                final JMenu helpMenu = new JMenu(tr("Help"));
  • src/org/openstreetmap/josm/actions/SaveAction.java

    r139 r142  
    4343
    4444                save(file);
     45                Main.main.editLayer().name = file.getName();
     46                Main.main.editLayer().associatedFile = file;
     47                Main.parent.repaint();
    4548        }
    4649
  • src/org/openstreetmap/josm/data/coor/LatLon.java

    r86 r142  
    11package org.openstreetmap.josm.data.coor;
    22
     3import org.openstreetmap.josm.data.Bounds;
    34import org.openstreetmap.josm.data.projection.Projection;
    45
     
    4243        }
    4344
     45        /**
     46         * @return <code>true</code> if this is within the given bounding box.
     47         */
     48        public boolean isWithin(Bounds b) {
     49                return lat() >= b.min.lat() && lat() <= b.max.lat() && lon() > b.min.lon() && lon() < b.max.lon();
     50        }
     51       
    4452    @Override public String toString() {
    4553        return "LatLon[lat="+lat()+",lon="+lon()+"]";
  • src/org/openstreetmap/josm/data/osm/DataSet.java

    r94 r142  
    55import java.util.Collections;
    66import java.util.HashSet;
     7import java.util.Iterator;
    78import java.util.LinkedList;
    89
     
    4344
    4445        /**
    45     * A list of listeners to selection changed events.
    46     */
    47     transient Collection<SelectionChangedListener> listeners = new LinkedList<SelectionChangedListener>();
     46        * A list of listeners to selection changed events.
     47        */
     48        transient Collection<SelectionChangedListener> listeners = new LinkedList<SelectionChangedListener>();
    4849
    4950        /**
     
    106107                fireSelectionChanged(Arrays.asList(new OsmPrimitive[]{osm}));
    107108        }
    108        
     109
    109110        /**
    110111         * Remove the selection from every value in the collection.
     
    133134
    134135        /**
    135     * Remember to fire an selection changed event. A call to this will not fire
    136     * the event immediately. For more, @see SelectionChangedListener
    137     */
    138     public void fireSelectionChanged(Collection<? extends OsmPrimitive> sel) {
     136        * Remember to fire an selection changed event. A call to this will not fire
     137        * the event immediately. For more, @see SelectionChangedListener
     138        */
     139        public void fireSelectionChanged(Collection<? extends OsmPrimitive> sel) {
    139140                for (SelectionChangedListener l : listeners)
    140141                        l.selectionChanged(sel);
    141     }
     142        }
    142143
    143144        /**
    144     * Add a listener to the selection changed listener list. If <code>null</code>
    145     * is passed, nothing happens.
    146     * @param listener The listener to add to the list.
    147     */
    148     public void addSelectionChangedListener(SelectionChangedListener listener) {
    149         if (listener != null)
    150                 listeners.add(listener);
    151     }
     145        * Add a listener to the selection changed listener list. If <code>null</code>
     146        * is passed, nothing happens.
     147        * @param listener The listener to add to the list.
     148        */
     149        public void addSelectionChangedListener(SelectionChangedListener listener) {
     150                if (listener != null)
     151                        listeners.add(listener);
     152        }
    152153
    153154        /**
    154     * Remove a listener from the selection changed listener list.
    155     * If <code>null</code> is passed, nothing happens.
    156     * @param listener The listener to remove from the list.
    157     */
    158     public void removeSelectionChangedListener(SelectionChangedListener listener) {
    159         if (listener != null)
    160                 listeners.remove(listener);
    161     }
     155        * Remove a listener from the selection changed listener list.
     156        * If <code>null</code> is passed, nothing happens.
     157        * @param listener The listener to remove from the list.
     158        */
     159        public void removeSelectionChangedListener(SelectionChangedListener listener) {
     160                if (listener != null)
     161                        listeners.remove(listener);
     162        }
    162163
    163164        public void addAllSelectionListener(DataSet ds) {
    164165                listeners.addAll(ds.listeners);
    165     }
     166        }
     167
     168        /**
     169         * Compares this and the parameter dataset and return <code>true</code> if both
     170         * contain the same data primitives (ignoring the selection)
     171         */
     172        public boolean realEqual(Collection<OsmPrimitive> other) {
     173                Collection<OsmPrimitive> my = allPrimitives();
     174
     175                if (my.size() != other.size())
     176                        return false;
     177
     178                Iterator<OsmPrimitive> it = other.iterator();
     179                for (OsmPrimitive osm : my)
     180                        if (!osm.realEqual(it.next()))
     181                                return false;
     182
     183                return true;
     184        }
    166185}
  • src/org/openstreetmap/josm/data/osm/visitor/AddVisitor.java

    r86 r142  
    1818       
    1919        private final DataSet ds;
     20        private final boolean includeReferences;
     21       
     22        public AddVisitor(DataSet ds, boolean includeReferences) {
     23                this.ds = ds;
     24                this.includeReferences = includeReferences;
     25        }
    2026       
    2127        public AddVisitor(DataSet ds) {
    22                 this.ds = ds;
     28                this(ds, false);
    2329        }
    2430       
    2531        public void visit(Node n) {
    26                 ds.nodes.add(n);
     32                if (!includeReferences || !ds.nodes.contains(n))
     33                        ds.nodes.add(n);
    2734        }
    28         public void visit(Segment ls) {
    29                 ds.segments.add(ls);
     35        public void visit(Segment s) {
     36                ds.segments.add(s);
     37                if (includeReferences && !s.incomplete) {
     38                        if (!ds.nodes.contains(s.from))
     39                                s.from.visit(this);
     40                        if (!ds.nodes.contains(s.to))
     41                                s.to.visit(this);
     42                }
    3043        }
    31         public void visit(Way t) {
    32                 ds.ways.add(t);
     44        public void visit(Way w) {
     45                ds.ways.add(w);
     46                if (includeReferences)
     47                        for (Segment s : w.segments)
     48                                if (!ds.segments.contains(s))
     49                                        s.visit(this);
    3350        }
    3451}
  • src/org/openstreetmap/josm/gui/MapStatus.java

    r113 r142  
    174174                                        }
    175175                                } catch (ConcurrentModificationException x) {
     176                                } catch (NullPointerException x) {
    176177                                }
    177178                        }
  • src/org/openstreetmap/josm/tools/SearchCompiler.java

    r102 r142  
    7878                        if (value == null)
    7979                                return notValue;
    80                         return (value.indexOf(this.value) != -1) != notValue;
     80                        return (value.toLowerCase().indexOf(this.value.toLowerCase()) != -1) != notValue;
    8181                }
    8282                @Override public String toString() {return key+"="+(notValue?"!":"")+value;}
     
    9090                                return s.equals("");
    9191                        for (Entry<String, String> e : osm.keys.entrySet())
    92                                 if (e.getKey().indexOf(s) != -1 || e.getValue().indexOf(s) != -1)
     92                                if (e.getKey().toLowerCase().indexOf(s.toLowerCase()) != -1
     93                                                || e.getValue().toLowerCase().indexOf(s.toLowerCase()) != -1)
    9394                                        return true;
    9495                        return false;
     
    111112                @Override public String toString() {return "type="+type;}
    112113        }
    113        
     114
    114115        private static class Modified extends Match {
    115116                @Override public boolean match(OsmPrimitive osm) {
Note: See TracChangeset for help on using the changeset viewer.