Ignore:
Timestamp:
2017-05-15T14:14:40+02:00 (7 years ago)
Author:
michael2402
Message:

See #14120: Don't make gpx tracks depend on the isChanged method, use a listener based approach instead.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/layer/gpx/MarkersFromNamedPointsAction.java

    r10436 r12156  
    1111import org.openstreetmap.josm.Main;
    1212import org.openstreetmap.josm.data.gpx.GpxData;
    13 import org.openstreetmap.josm.data.gpx.GpxTrack;
    14 import org.openstreetmap.josm.data.gpx.GpxTrackSegment;
    15 import org.openstreetmap.josm.data.gpx.WayPoint;
    1613import org.openstreetmap.josm.gui.layer.GpxLayer;
    1714import org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer;
     
    3027    public void actionPerformed(ActionEvent e) {
    3128        GpxData namedTrackPoints = new GpxData();
    32         for (GpxTrack track : layer.data.tracks) {
    33             for (GpxTrackSegment seg : track.getSegments()) {
    34                 for (WayPoint point : seg.getWayPoints()) {
    35                     if (point.attr.containsKey("name") || point.attr.containsKey("desc")) {
    36                         namedTrackPoints.waypoints.add(point);
    37                     }
    38                 }
    39             }
    40         }
     29        layer.data.getTrackPoints()
     30            .filter(point -> point.attr.containsKey("name") || point.attr.containsKey("desc"))
     31            .forEach(namedTrackPoints.waypoints::add);
    4132        MarkerLayer ml = new MarkerLayer(namedTrackPoints, tr("Named Trackpoints from {0}", layer.getName()), layer.getAssociatedFile(), layer);
    4233        if (!ml.data.isEmpty()) {
Note: See TracChangeset for help on using the changeset viewer.